草庐IT

python - 使用保存在本地系统中的 html 抓取文件

例如,我有一个网站"www.example.com"实际上我想通过保存到本地系统来抓取这个站点的html。所以为了测试,我将该页面保存在我的桌面上作为example.html现在我已经为此编写了蜘蛛代码,如下所示classExampleSpider(BaseSpider):name="example"start_urls=["example.html"]defparse(self,response):printresponsehxs=HtmlXPathSelector(response)但是当我运行上面的代码时,我得到了如下错误ValueError:Missingschemeinreq

python - 从脚本抓取抓取总是在抓取后阻止脚本执行

我正在关注本指南http://doc.scrapy.org/en/0.16/topics/practices.html#run-scrapy-from-a-script从我的脚本运行scrapy。这是我的脚本的一部分:crawler=Crawler(Settings(settings))crawler.configure()spider=crawler.spiders.create(spider_name)crawler.crawl(spider)crawler.start()log.start()reactor.run()print"Itcan'tbeprintedout!"它应该起

python - 如何强制scrapy抓取重复的url?

我在学习Scrapy一个网络爬虫框架。默认情况下,它不会抓取重复的url或scrapy已经抓取的url。如何让Scrapy抓取重复的url或者已经抓取过的url?我试图在互联网上查找,但找不到相关帮助。我发现DUPEFILTER_CLASS=RFPDupeFilter和SgmlLinkExtractor来自Scrapy-Spidercrawlsduplicateurls但这个问题与我正在寻找的相反 最佳答案 您可能正在寻找Request()上的dont_filter=True参数。见http://doc.scrapy.org/en/

python - 从 json 中的脚本输出中抓取

我在python脚本中运行scrapydefsetup_crawler(domain):dispatcher.connect(stop_reactor,signal=signals.spider_closed)spider=ArgosSpider(domain=domain)settings=get_project_settings()crawler=Crawler(settings)crawler.configure()crawler.crawl(spider)crawler.start()reactor.run()它成功运行并停止但结果在哪里?我想要json格式的结果,我该怎么做?

python - 使用 Python 抓取和解析 Google 搜索结果

我问了一个question关于实现抓取和保存网页的总体思路。原问题的一部分是:如何从互联网上抓取并保存大量的“关于”页面。经过一些进一步的研究,我在抓取和解析方面有了一些选择(列在底部)。今天,我遇到了另一个Rubydiscussion关于如何从谷歌搜索结果中抓取。这为我的问题提供了一个很好的替代方案,可以节省爬行部分的所有工作。新的问题是:在Python中,抓取给定关键字的Google搜索结果,在本例中为“About”,最后获取链接以进行进一步解析.继续使用的方法和库的最佳选择是什么?(以易于学习和易于实现为衡量标准)。附言在thiswebsite,一模一样的东西实现了,但是关闭了,

python - 使用 lxml 和请求进行 HTML 抓取会导致 unicode 错误

这个问题在这里已经有了答案:parsingXMLfilegetsUnicodeEncodeError(ElementTree)/ValueError(lxml)(3个回答)关闭7年前。我正在尝试使用提供的HTML抓取工具here.它适用于他们提供的示例。但是,当我尝试将它与我的webpage一起使用时,我收到此错误-不支持带有编码声明的Unicode字符串。请使用未声明的字节输入或XML片段。我试过谷歌搜索,但找不到解决方案。我真的很感激任何帮助。我想知道是否有办法使用Python将其复制为HTML。编辑:fromlxmlimporthtmlimportrequestspage=req

python - 无限滚动抓取网站

我写了很多爬虫,但我不确定如何处理无限滚动。现在大多数网站等,Facebook,Pinterest都有无限滚动。 最佳答案 您可以使用selenium来废弃twitter或facebook等无限滚动网站。第1步:使用pip安装Seleniumpipinstallselenium第2步:使用下面的代码自动无限滚动并提取源代码fromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.common.keysimport

python - 如何使用python和beautifulsoup抓取需要登录的网站?

如果我想抓取一个需要先使用密码登录的网站,我该如何开始使用Python使用beautifulsoup4库来抓取它?以下是我为不需要登录的网站所做的。frombs4importBeautifulSoupimporturllib2url=urllib2.urlopen("http://www.python.org")content=url.read()soup=BeautifulSoup(content)应如何更改代码以适应登录?假设我要抓取的网站是一个需要登录的论坛。一个例子是http://forum.arduino.cc/index.php 最佳答案

python - 屏幕抓取 : getting around "HTTP Error 403: request disallowed by robots.txt"

有没有办法绕过以下问题?httperror_seek_wrapper:HTTPError403:requestdisallowedbyrobots.txt这是联系网站所有者(barnesandnoble.com)的唯一方法。我正在建立一个可以为他们带来更多销售的网站,但不知道他们为什么会在一定深度拒绝访问。我在Python2.6上使用mechanize和BeautifulSoup。希望有解决办法 最佳答案 哦,你需要忽略robots.txtbr=mechanize.Browser()br.set_handle_robots(Fals

python - 如何用 BeautifulSoup 只抓取可见的网页文本?

基本上,我想使用BeautifulSoup严格抓取网页上的可见文本。例如,thiswebpage是我的测试用例。而且我主要想在这里和那里获取正文(文章)甚至一些选项卡名称。我已经尝试过SOquestion中的建议返回很多我不想要的标签和html注释。我无法弄清楚函数findAll()所需的参数为了只获取网页上的可见文本。那么,我应该如何找到除脚本、评论、css等之外的所有可见文本? 最佳答案 试试这个:frombs4importBeautifulSoupfrombs4.elementimportCommentimporturllib