我不确定这是不是这个问题的正确位置。
我的问题是:
如果我运行scrapy,它就看不到页面源代码中的电子邮件地址。只有当你把鼠标悬停在有电子邮件地址的用户上时,页面中的电子邮件地址才是可见的。
当我运行我的蜘蛛时,我没有收到电子邮件。我做错了什么?
谢谢你,谢谢你
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
import re
class MailsSpider(CrawlSpider):
name = 'mails'
allowed_domains = ['biorxiv.org']
start_urls = ['https://www.biorxiv.org/content/10.1101/2022.02.28.482253v3']
rules = (
Rule(LinkExtractor(allow=r'Items/'), callback='parse_item', follow=True),
)
def parse_item(self, response):
emals = re.findall(r'[\w\.]+@[\w\.]+',response.text)
print(response.url)
print(emails)
1条答案
按热度按时间w7t8yxp51#
假设你被允许从一个公共网站上抓取电子邮件联系人,如前所述,scrapy不加载js脚本,你需要一个像Playwright这样的完整呈现浏览器来获取地址。
我已经写了一个快速和肮脏的例子,它是如何工作的,你可以从这里开始,如果你愿意(当然在你安装了剧作家)