背景
总的来说,我对使用Scrapy和webscraping非常陌生,我正在尝试访问目标网页,填充那里的表单,提交表单并从返回到条目的页面中刮取数据。完成这些步骤后,我想回到目标网页,用不同的信息填充表单,刮掉已经返回的新数据,并将这些数据附加到这些相同的项中。
我有什么
下面的代码填写目标表单,抓取返回的页面以获取信息,并将该信息放置到项中。
import scrapy
from AirScraper.items import AirscraperItem
class airSpider(scrapy.Spider):
name = "airSpider"
我想从网站上抓取数据:,我希望我的请求对于更有经验的Scrapy用户来说是非常简单和直接的。
问题:我试图为每个review.By数据抓取数据,**我指的是主标题、副标题、用户名、日期和评论。**但我无法得到审查,因为我想要的是进入嵌入主标题的链接,然后得到整个审查,而不是第一页上的简短评论,并对每一次审查都这样做。
我的蜘蛛班:
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.spider import BaseSpider
from scrapy.contrib.linkextractors.sgml imp
这段代码 import requests
url = 'https://docs.scrapy.org/en/latest/_static/selectors-sample1.html'
response = requests.get(url) 获取一个requests.models.Response实例,我可以从其中使用scrapy提取数据 from scrapy import Selector
sel = Selector(response=response)
sel.xpath('//div') A post gives a great访问网站的方式。这
我正在使用scrapy来删除,但是当我运行爬行器时,我没有看到任何响应。
我尝试了reddit.com和quora.com,它们都返回了数据(开始爬行),但不是我想要的站点。
这是我的简单爬虫:
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider
from scrapy.spiders import Rule
class FirstSpider(CrawlSpider):
name = "jobs"
allowed_domains = [&
我有一个跨平台请求调用,它在xhr.onload函数中获取数据,如何将数据返回到主函数?
makeCorsRequest(email) {
var xhr = this.createCORSRequest(email);
xhr.send()
xhr.onload = function() {
var text = xhr.responseText;
return text //I want to return this on the makeCorsRequest function after the .send() is do
我正在抓取本地page_source文件。Scrapy完全跳过了parse_nextfile()函数。它非常适合parse()函数。我不知道为什么会这样?
from scrapy import Spider
from scrapy.loader import ItemLoader
from linkedin.items import LinkedinItem
import glob, os
class ProfilesSpider(Spider):
name = 'profiles'
allowed_domains = ["file://127.0.
我试图从中删除NBA的历史数据。
使用下面的代码,回调不会执行。但是,当我将oddsportal.com更改为nba.com时,没有问题。
我不知道这是为什么。建议?
import scrapy
from scrapy.loader import ItemLoader
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
from nba_scrapper.items import NbaScrapperItem
import re
class GetGame
我无法抓取整个网站,Scrapy只能在表面抓取,我想抓取更深的部分。我已经用谷歌搜索了5-6个小时,但没有任何帮助。我的代码如下:
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
from scrapy.item import Item
from scrapy.spider import BaseSpider
from
我使用Python和Scrapy来回答这个问题。
我试图抓取网页A,它包含指向网页的链接列表-- B1、B2、B3、.每一个B页面都包含一个指向另一个页面的链接,C1、C2、C3、.,其中包含一个图像。
所以,使用Scrapy,在伪代码中的思想是:
links = getlinks(A)
for link in links:
B = getpage(link)
C = getpage(B)
image = getimage(C)
然而,当我试图在Scrapy中解析多个页面时,我遇到了一个问题。这是我的代码:
def parse(self, response):
我的问题与几乎完全相同
但是我有两个For循环,所以创建一个新的条目将导致我丢失第一个刮过的页面中的数据。
基本结构是:
知道第一个网址。
循环通过已知的urls
- For loop for data and next url
- For loop for more data and next url
- Even more data and next url.
- Even more data and next url.
- Yield
每页有10-40条数据,但我有一个简单的代码,它可以查找1-2个数据。
为此,我尝试从flipkart.com中获取一些信息,我正在使用Scrapy。我需要的信息是flipkart上的每一个产品。
我从scrapy.contrib.spiders导入CrawlSpider规则中为我的蜘蛛使用了以下代码
from scrapy.contrib.linkextractors import LinkExtractor
from scrapy.selector import HtmlXPathSelector
from tutorial.items import TutorialItem
class WebCrawler(CrawlSpider):
name
allowed_domains = ["textfiles.com/100"]
start_urls = ['http://textfiles.com/100/']
def parse(self,response):
link=response.css('a::attr(href)').extract()
for i in link:
temp="http://www.textfiles.com/100/"+i
data=scrapy.Request(temp,callback=se