使用 xpath 从表格中提取元素时,Scrapy 返回空值输出
我一直在尝试刮擦这个网站,该网站在科罗拉多州有油井的详细信息 scrapy刮擦网站,并在刮擦它时返回URL,但是当我需要使用其XPATH(石油县)在表中提取元素(油井县)时,我所获得的只是无效输出,即[] . 我尝试在页面中访问的任何元素都会发生这种情况. 这是我的蜘蛛: import scrapy import json class coloradoSpider(scrapy.Spider): name = "colorado" allowed_domains = ["cogcc.state.co.us"] start_urls = ["https://cogcc.state.co.us/cogis/ProductionWellMonthly.asp?APICounty=123&APISeq=07555&APIWB=00&Year=All"] def parse(self, response): url = res
0 2023-12-01
编程技术问答社区
如何刮取动态表的数据
我想从 http://5000best.com/websites.com/websites/ 表的内容被分页至几页,并且是动态的. 我想刮擦每个类别的表数据.我可以为每个类别手动刮擦表,但这不是我想要的. 请看一下,给我做的方法. 我能够为每个类别建立链接,即 编辑:我正在使用请求,beautifulsoup4, 解决方案 我采用了这种方法 scrape 来自每个类别的表. # ------------Hemant Sah-------------------- # import requests from bs4 import BeautifulSoup import pandas as pd import math import itertools import requests import sqlalchemy import re final_list = []
0 2023-12-01
编程技术问答社区
Scrapy 重复行
我正在尝试通过此网站刮擦 .com/fi/menovinkit/?ql = tapahtumat . 特别是,我正在尝试刮擦网站上的3个表. 我已经用 对此进行了管理 tables = response.xpath('//*[@class="table table-stripefd"]') 然后,我想为桌子拿到每个行,我用 做的 rows = tables.xpath('//tr') 这里的问题是,在刮擦并打印出一些数据后,我注意到某些行有多个条目. 例如,事件" tahko vuorijuoksu"一次出现在网站上,但是在我的刮擦数据中,我有3个实例. 任何人都可以指出为什么会发生这种情况吗? 解决方案 当您使用这样的选择时: rows = tables.xpath('//tr') 它将选择自我或下轴中的每个tr元素,由父元素无限.因此,它将为3 table元素中的每个元素返回所有207 tr元素. 要仅获取每个表的tr元素孩子,您可
0 2023-12-01
编程技术问答社区
Scrapy--如何在没有'Next'按钮的情况下管理分页?
我正在从网站上删除文章的内容>在没有"下一个"按钮的地方要遵循. ItemLoader从response.meta对象中的parse_issue以及一些其他数据(例如section_name)传递.这是功能: def parse_article(self, response): self.logger.info('Parse function called parse_article on {}'.format(response.url)) acrobat = response.xpath('//div[@class="txt__lead"]/p[contains(text(), "Plik do pobrania w wersji (pdf) - wymagany Acrobat Reader")]') limiter = response.xpath('//p[@class="limiter"]') if
0 2023-12-01
编程技术问答社区
如果不在 scrapy 中使用请求,就无法解析自定义结果
我已经创建了一个使用scrapy的脚本,以获取IMDB.com的所有链接连接到不同演员名称的链接,然后解析其电影链接的前三个,最后刮擦director和writer的名称这些电影.如果我坚持当前的尝试,我的脚本会完美无缺.但是,我在parse_results中使用了requests模块(我不想)获取自定义输出. 脚本的作用(考虑第一个命名链接,如Robert De Niro中的): 该脚本使用上面的URL并将命名链接刮给对前三部电影链接,来自此处位于标题Filmography. 下 然后,它从 这是我到目前为止写的(工作一个): import scrapy import requests from bs4 import BeautifulSoup from scrapy.crawler import CrawlerProcess class ImdbSpider(scrapy.Spider): name = 'imdb' start_urls
0 2023-12-01
编程技术问答社区
如何使用 Scrapy 浏览基于 js/ajax(href="#")的分页?
我想迭代所有类别URL和 scrape 每个页面的内容.尽管在此代码中urls = [response.xpath('//ul[@class="flexboxesmain categorieslist"]/li/a/@href').extract()[0]]我试图仅获取第一个类别URL,但我的目标是获取每个URL中的所有URL和内容. 我正在使用Scrapy_selenium库. Selenium Page Source不会传递到" Scrape_it"功能.请查看我的代码,让我知道是否有任何错误.我是零工框架的新手. 下面是我的蜘蛛代码 - # -*- coding: utf-8 -*- import scrapy from scrapy import Request from scrapy import Selector from scrapy_selenium import SeleniumRequest from ..items import Couponcol
0 2023-12-01
编程技术问答社区
使用 Scrapy 和 Python 2.7 对 Craigslist 进行递归式抓取
我很难让蜘蛛遵循广告的下一页,而无需遵循它所找到的每个链接,最终返回每个craigslist页面.我知道这是问题所在的地方,但我要么仅获得第一页,Craigslist上的每个页面,要么什么都没有.有帮助吗? 这是我当前的代码: from scrapy.selector import HtmlXPathSelector from craigslist_sample.items import CraigslistSampleItem from scrapy.contrib.spiders import CrawlSpider, Rule from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor from scrapy.http import Request class PageSpider(CrawlSpider): name = "cto" allowed_domains = ["medf
0 2023-12-01
编程技术问答社区
Scrapy: 通过 Javascript 抓取内容集
我正在尝试爬网 this url.通过JavaScript,它的成本从130 OT 154.99变化.当您看到Price Dom的查看来源时,它看起来像: £130.00 肯定是通过JavaScript设置的. 如何通过砂纸获取正确的值? 我尝试获取值的方式是: price = hxs.select('//*[@id="display_price"]/span[2]/text()').extract() 解决方案 当您将页面加载到浏览器中时,价格是在执行JavaScript的帮助下构建的.所需的价格实际上是在一个script标签内部,您可以用砂纸找到该标签,提取包含正则表达式的物体,通过JSON加载并获取价格. Scrapy Shell : $ scrapy shell http://www.bedstore.co.uk/p/Diamante_Faux_Leath
0 2023-12-01
编程技术问答社区
如何记录脚本中运行的scrapy spiders
嗨,所有我的脚本都有多个蜘蛛.脚本将每天安排一次. 我想分别记录Infos,错误.日志文件名必须为 spider_infolog_ [date] 和 spider_errlog_ [date] 我正在尝试遵循代码, 蜘蛛__init__ file from twisted.python import log import logging LOG_FILE = 'logs/spider.log' ERR_FILE = 'logs/spider_error.log' logging.basicConfig(level=logging.INFO, filemode='w+', filename=LOG_FILE) logging.basicConfig(level=logging.ERROR, filemode='w+', filename=ERR_FILE) observer = log.PythonLoggingObserver() observer.start()
0 2023-12-01
编程技术问答社区
如何在Scrapy中把搜刮的数据写入CSV文件?
我试图通过提取子链接及其标题来刮擦网站,然后将提取的标题及其关联的链接保存到CSV文件中.我运行以下代码,创建了CSV文件,但它是空的.有帮助吗? 我的蜘蛛文件看起来像这样: from scrapy import cmdline from scrapy.contrib.spiders import CrawlSpider, Rule from scrapy.contrib.linkextractors import LinkExtractor class HyperLinksSpider(CrawlSpider): name = "linksSpy" allowed_domains = ["some_website"] start_urls = ["some_website"] rules = (Rule(LinkExtractor(allow=()), callback='parse_obj', follow=True),) def pa
0 2023-12-01
编程技术问答社区
Scrapy: 没有命名项目的模块,刮削图像
我正在尝试使用零工下载图像形成网页的示例. 这是蜘蛛文件: from scrapy import Spider, Item, Field, Request from items import TrousersItem class TrouserScraper(Spider): name, start_urls = "Trousers_spider", ["http://lookatmyfuckingredtrousers.blogspot.co.uk"] def parse(self, response): for image in response.selector.xpath('//*[contains(@class, "entry-content")]/div[contains(@class, "separator")]/a/img/@src'): yield TrousersItem(image_urls=[i
0 2023-12-01
编程技术问答社区
清理使用Scrapy搜刮的数据
我最近开始使用零食,并正在尝试清洁一些我刮擦并想导出到CSV的数据,即以下三个示例: 示例1 - 删除某些文本 示例2 - 删除/更换不需要的字符 示例3 - 分拆逗号分隔文本 示例1数据看起来像: 我想要的文字,文字我不想要 使用以下代码: 'Scraped 1': response.xpath('//div/div/div/h1/span/text()').extract() 示例2数据看起来像: - 但我想将其更改为£ 使用以下代码: ' Scraped 2': response.xpath('//html/body/div/div/section/div/form/div/div/em/text()').extract() 示例3数据看起来像: 项目1,项目2,项目3,项目4,项目4,项目5 - 最终我想拆分 在CSV文件 中将其分成单独的列 使用以下代码: ' Scraped 3': response
0 2023-12-01
编程技术问答社区
Scrapy XPath-无法在跨度内获取文本
我正在尝试在网站上获取地址信息.这是我的代码的示例: companytype_list = sel.xpath('''.//li[@class="type"]/p/text()''').extract() headquarters_list = sel.xpath('''.//li[@class="vcard hq"]/p/span[3]/text()''').extract() companysize_list = sel.xpath('''.//li[@class="company-size"]/p/text()''').extract() 这是网站上如何格式化的一个示例: Type Privately Held Headquarters
0 2023-12-01
编程技术问答社区
如何在不同的输入网站上同时多次运行 Scrapy scraper 并写入不同的输出文件?
有人知道我如何在不同的网站上运行200次相同的刮擦刮板,每个网站都有各自的输出文件?通常在零工中,您通过键入-o filename.json. 从命令行运行输出文件时指示输出文件. 解决方案 多种方法: class MyPipeline(object): def process_item(self, item, spider): filename = spider.output_filename # now do your magic with filename 您可以 其他解决方案 我正在做类似的事情.这是我所做的: 按照您的平常来写下爬行者,但请确保实施设置scrapyd运行蜘蛛 包装并使用 scrapyd-client 现在,使用您的网站列表,只需向您的scrapyd流程发布一个curl命令. 我已经使用了上述策略将刮擦200万个域,我在不到5天的时间内就做到了.
0 2023-12-01
编程技术问答社区
Python Scrapy只重复刮取相同的元素
我正在尝试学习冰期,并且正在Yelp网站上学习 此这是代码 try: import scrapy from urlparse import urljoin except ImportError: print "\nERROR IMPORTING THE NESSASARY LIBRARIES\n" #scrapy.optional_features.remove('boto') url = raw_input('ENTER THE SITE URL : ') class YelpSpider(scrapy.Spider): name = 'yelp spider' start_urls = [url] def parse(self, response): SET_SELECTOR = '.regular-search-result' #Going over each li tags c
0 2023-12-01
编程技术问答社区
Scrapy 输出问题
我遇到问题,以显示我的物品.我的代码如下: from scrapy.contrib.spiders import CrawlSpider, Rule from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor from scrapy.http import request from scrapy.selector import HtmlXPathSelector from texashealth.items import TexashealthItem class texashealthspider(CrawlSpider): name="texashealth" allowed_domains=['jobs.texashealth.org'] start_urls=['http://jobs.texashealth.org/search/?&q=&title=Filter%3A%20
0 2023-12-01
编程技术问答社区
自动从 Google 下载图像
我是Python的新手,我正在尝试创建一个自动化Google下载图像的工具. 到目前为止,我有以下代码: import urllib def google_image(x): search = x.split() search = '%20'.join(map(str, search)) url = 'http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=%s&safe=off' % ,但我不确定要继续何处或是否在正确的轨道上.有人可以帮忙吗? 解决方案 请参阅ITEM_PIPELINES = {'scrapy.contrib.pipeline.images.ImagesPipeline': 1}
0 2023-12-01
编程技术问答社区
scrapy 不提供任何输出
我正在关注此 link ,我能够成功地运行一个Basespider. 当我尝试与爬网轴使用相同的时,我没有得到任何输出. 我的蜘蛛如下: from scrapy.contrib.spiders import CrawlSpider, Rule from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor from scrapy.http import request from scrapy.selector import HtmlXPathSelector from medsynergies.items import MedsynergiesItem class medsynergiesspider(CrawlSpider): name="medsynergies" allowed_domains=['msi-openhire.silkroad.com/epostings/']
0 2023-12-01
编程技术问答社区