网页数据抓取的一些常见技巧,你学会了吗?

优采云 发布时间: 2022-08-06 09:01

  网页数据抓取的一些常见技巧,你学会了吗?

  网页数据抓取是一项老生常谈的技术了,最常见的就是在搜索引擎中。今天就这个问题,我用django以及javascript,讲解一下网页数据抓取的一些常见技巧。数据抓取的原理在和朋友讨论这个问题之前,我觉得有必要讲一下爬虫的工作原理。如果你是一个经常写爬虫的人,应该对这个名词不陌生,如下图所示。一般都是通过web爬虫工具来完成,scrapy或者requests,在爬虫工具都是用到了requests的request对象。

  

  使用requests和javascript等多种技术完成的,同时我把javascript等传统的方法也用一下。通过上图我们可以清楚的知道,实际上根据传统的方法,爬虫是可以从各种需要爬取的资源中搜集数据的。比如在github上有很多项目,根据特定的代码片段来爬取一个网站的代码,去github上搜索代码片段,按照图中所示的路径是可以搜到相应的github项目。

  

  而django以及javascript爬虫基本上就是这样的应用场景。抓取知乎用户相关信息这个爬虫的目标就是抓取知乎用户相关的信息,就像下图是我这篇文章的抓取结果:完整代码:importrequestsfromdjango.dbimportmodelsclassdjangopipelist:user_info=models.foreignkey(info_text)title=models.foreignkey(title)category=models.foreignkey(category)gen_tag=models.foreignkey(gen_tag)user_rank=models.foreignkey(user_rank)gen_top=models.foreignkey(top)user_cookie=models.foreignkey(user_cookie)comment_name=models.foreignkey(comment_name)headers=models.charfield(max_length=500,height=2)type=models.foreignkey(type='sex')comment_list=models.foreignkey(comment_list)page_id=models.foreignkey(page_id)page_url=models.foreignkey(url)returnmodels.get(user_info,title,category,gen_tag,user_rank,comment_name,headers=user_info)以上是爬虫的代码,代码有一些简单的注释,可以移步这里去看:-goodeditors/random-bot-blog/jake48/chinaz_records.html上面这些内容其实简单的说是一个用户id值带上自己对应的两个字段信息抓取,就可以实现上面的抓取内容,django爬虫也可以通过models.foreignkey(info_text)来指定自己的请求头中必须包含的信息。

  我是怎么爬取知乎答案这是一个单线程的爬虫,使用django中的requests库获取所需要的网页。由于知乎上的答案非常的稀缺,搜索很少,

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线