Fla*_*ake 22 python screen-scraping google-search-api web-scraping
我问了一个关于实现抓取和保存网页的一般想法的问题.原始问题的一部分是:如何从Internet抓取并保存大量"关于"页面.
通过一些进一步的研究,我可以选择继续进行刮擦和解析(在下面列出).
今天,我遇到了另一个关于如何从Google搜索结果中删除的Ruby讨论.这为我的问题提供了一个很好的选择,它将节省爬行部分的所有工作量.
新问题是:在Python中,为了给定关键字刮取 Google搜索结果,在本例中为"关于",最后获取进一步解析的链接.有哪些方法和库的最佳选择?(以易于学习和易于实施的方式衡量).
ps在这个网站上,实现完全相同的东西,但关闭并要求钱以获得更多结果.如果没有开源可用,我宁愿自己做,也可以在同时学习更多Python.
哦,顺便说一句,从搜索结果中解析链接的建议会很好,如果有的话.仍然,易于学习和易于实施.刚开始学习Python.:P
最后更新,问题解决了.使用xgoogle的代码,请阅读以下部分中的说明,以使xgoogle正常运行.
import time, random
from xgoogle.search import GoogleSearch, SearchError
f = open('a.txt','wb')
for i in range(0,2):
wt = random.uniform(2, 5)
gs = GoogleSearch("about")
gs.results_per_page = 10
gs.page = i
results = gs.get_results()
#Try not to annnoy Google, with a random short wait
time.sleep(wt)
print 'This is the %dth iteration and waited %f seconds' % (i, wt)
for res in results:
f.write(res.url.encode("utf8"))
f.write("\n")
print "Done"
f.close()
Run Code Online (Sandbox Code Playgroud)
关于xgoogle的注意事项(以下由Mike Pennington回答):由于谷歌搜索结果可能发生变化,因此它的Github的最新版本在默认情况下不起作用.这个工具主页上的这两个回复(a b)提供了一个解决方案,它目前仍在使用这个调整.但也许有一天,由于谷歌的变化/阻止,它可能会再次停止工作.
目前已知的资源:
对于抓取,Scrapy似乎是一个受欢迎的选择,一个名为ScraperWiki的webapp 非常有趣,还有另一个项目提取它的库用于离线/本地使用.机械化在不同的讨论中也被提出了好几次.
对于解析HTML,BeautifulSoup似乎是最受欢迎的选择之一.当然.lxml也是.
归档时间: |
|
查看次数: |
51344 次 |
最近记录: |