python - Scrapy 命令用于提取 Web 的特定字段
问题描述
我想使用以 json 格式编写的网络数据在 python 上创建一个字典。我正在尝试使用scrapy,但没有任何反应。
我试过这个:
from scrapy.crawler import CrawlerProcess
class my_spider(scrapy.Spider):
name = "my_spider"
start_urls = ["https://meteo.cat/observacions/llistat-xema"]
def parse(self, response):
for slug in response.xpath('//td[@headers="metacom"]'):
yield {'title': slug.extract()}
if __name__ == "__main__":
process = CrawlerProcess({
'USER_AGENT': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0',
'DOWNLOAD_HANDLERS': {'s3': None},
'LOG_ENABLED': True})
process.crawl(my_spider)
process.start()
Any suggestion, plase?
解决方案
您可以尝试运行以下命令:
from scrapy import Spider
from scrapy.crawler import CrawlerProcess
# Remember to name class in camelcases.
class Myspider(Spider):
name = "my_spider"
start_urls = ["https://meteo.cat/observacions/llistat-xema"]
def parse(self, response):
for slug in response.xpath('//td[@headers="metacom"]'):
yield {'title': slug.extract()}
if __name__ == "__main__":
process = CrawlerProcess({
'USER_AGENT': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0',
'DOWNLOAD_HANDLERS': {'s3': None},
'LOG_ENABLED': True})
process.crawl(Myspider)
process.start()
推荐阅读
- javascript - useReducer 不接受数组或状态
- python - 运行网络浏览器并在不关闭浏览器的情况下继续执行脚本
- c++ - C++ 使用函数从文件中按字母顺序对用户 fname 和 lname 进行冒泡排序
- azure - Azure 逻辑应用在转换 XML 时忽略 indent="yes"
- c++ - const对象的容器?
- tensorflow - 使用flow_from_directory时如何获取混淆矩阵和ROC曲线?
- reactjs - 无法删除 useRef
设置反应离子时的值 - php - 用php从mysql列数据中分离值
- python - 运行相同网格搜索代码的不同超参数
- c - 我无法弄清楚为什么我的这部分代码没有运行,当它自己运行时就好了