【发布时间】:2022-01-12 20:01:45
【问题描述】:
我正在寻找 Python 框架来从数千个不同的网站中提取关键信息 - 例如“办公室位置”、“CEO”等。理想情况下,该脚本将读取网站 url,识别一些“关键术语”例如“位置”、“办公室”、“团队成员”等并打印相应的指标。
我在使用 Scrapy 时唯一相关的经验是提取遵循特定网页上某种模式的信息(即从 Wikipedia 中提取表格),但不确定 Scrapy 或 BeautifulSoup 是否适用于此类项目。想知道 Scrapy 是否是我最好的选择,如果是,那么用于此类项目的正确语法是什么。我已经尝试了一些变体
import scrapy
from bs4 import BeautifulSoup
import urllib
class OurfirstbotSpider(scrapy.Spider):
name = 'ourfirstbot'
start_urls = [
'https://en.wikipedia.org/wiki/List_of_common_misconceptions',
]
def parse(self, response):
#yield response
headings = response.css('.mw-headline').extract()
datas = response.css('ul').extract()
for item in zip(headings, datas):
all_items = {
'headings' : BeautifulSoup(item[0]).text,
'datas' : BeautifulSoup(item[1]).text,
}
yield all_items
无济于事,因为每个站点都有不同的布局,并且没有一个遵循特定的模式。任何帮助将不胜感激。
【问题讨论】:
标签: python web-scraping beautifulsoup scrapy