首页 > 编程知识 正文

爬虫python的爬取步骤,Python爬虫开发与项目实战

时间:2023-05-04 06:43:57 阅读:114130 作者:2678

最近,我想找几本电子书,翻了又翻,然后找到了一个叫周读的网站。 网站很好,简单又清爽,有很多书。 而且,可以直接在百度网盘下载,更新速度也还可以。 所以,我给爬了这篇文章学习一下就可以了。 这样好的共享网站,尽量不要爬。 影响人的访问速度就不好了。 是http://www.ireadweek.com/。 想要数据的人,可以在我的博客下评论。 QQ,邮箱地址,什么都可以。

这个网站的页面在逻辑上非常简单。 翻开书籍的详细页面,如下所示。 我们只需要循环生成指向这些页面的链接,然后爬上去就可以了。 为了速度,是我采用的多线程。 请试一下。 如果你想要攀登后的数据,在本博客下评论。 请不要破坏别人的服务器。

3358 www.iread week.com/index.PHP/bookinfo/11393.html 3358 www.iread week.com/index.PHP/bookinfo/11.hok 将最后收集的内容写入csv文件。 (什么是csv,百度看看就知道了。 )此代码是IO密集操作。 在aiohttp模块中创建。

连接步骤URL,打开线程。

导入请求#协作模块importasyncioimportaiohttpheaders={ ' user-agent ' : ' Mozilla/5.0 (windows nt 10.0; WOW64 ) appleWebKit/537.36(khtml,like Gecko ) chrome/68.0.3440.106 safari/537.36 )、' host ' 3: ' www.ireari q=0.8'}asyncdefget_content(URL ) : print ) )操作中:{} . format ) URL ) )创建用于检索数据的session的asyncwithaiohttp.contp as session : asyncwithsession.get (URL,headers=headers ) timeout=3) as RES : if RES.status==200: source=await RES.text (#等待获取文本print(source ) if _ name _==' index.PHP/Bookinfo/{} 11394 () 11394 loop=async io.get _ event _ loop ) ) tasks=[ get _ content (URL ) forurlilient results=loop.run _ until _ complete (async io.wait (tasks ) ) )上的代码可以同时打开n个或更多线程,但这样做会导致其他服务器打开请尝试将下面的代码放置在您指定的位置

SEMA=asyncio.semaphore(5) )为避免爬行动物单次请求次数过多,asyncdefx_get_source(URL ) : with (awaits EMA ) 3360 await gema

efasync_content(tree ) :title=tree.XPath('/div ) class='hanghang-za-title ' ' )0).text # if title 可以直接返回到div (@ class=' hanghang-Shu-content-) (.XPath(p )1)/text () )0) (.replace )作者:)、“ text ) )0) isnotnoneelsenonecate=description [0].XPath ) p[2] ' ' ) if description [0].XPath (p [2]/texx '') if描述[0].XPath (p [3]/text () ) )0) isnotnoneelsenone )此部分的内容不明确。 不记录# des=description [0].XPath (p [5]/text () )0) if description [0].XPath (p [5]/text () ) )

print (数据) withopen(Hang.CSV )、(a )、encoding=(utf-8 ) ) asfw:writer=CSV.writer ) fw ) writer.writer 这里是Python学员的聚会,零度基点、高级,欢迎互联网电子书多线程的爬网-执行码,查看结果

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。