编写爬取糗事百科信息爬虫代码学习笔记

前言

    学习python3已经有一段时间了,本着趁自己还记得学过什么的原则,特意把这段时间所学所悟记录下来。就从利用python3编写糗事百科爬虫开始写起,在此感谢静觅博主的python爬虫学习系列教程,指引我学习编写。本文也是根据其python2.x的教程再加上个人对python3学习的理解也写。


一、

    就本人目前学习进度而言,编写爬虫代码需要import三个模块。值得一提的是python3与python2有比较大的区别,一部分体现在模块上(这个我以后也会另开一贴作为学习记录,比较两个版本之间出现变化的地方)。现在先就要用到的模块或者方法出现的变化作比较

python3python2
urllib.requesturllib2
  
  

二、

    直接贴上关键代码

#抓取嗅事百科(一页内容)
import urllib
import urllib.request
import re
page = 1
url = r'https://www.qiushibaike.com/hot/page'+str(page)
user_agent = 'Mozilla/4.0(compatible;MSIE 5.5; Windows NT)'
headers = {'User-Agent':user_agent}
try:
	request = urllib.request.Request(url,headers=headers)
	response = urllib.request.urlopen(request)
	content = response.read().decode('utf-8')
	pattern = re.compile(r'h2>(.*?)</h.*?<div.*?<span>(.*?)</.*?>',re.S|re.M)
	items = re.findall(pattern,content)
	pageLibrary=[]
	for item in items:
		pageLibrary.append([item[0].strip(),item[1].strip()])
		print(item[0].strip(),item[1].strip())
		#print(pageLibrary)
except urllib.request.URLError as e:
	if hasattr(e,'code'):
		print(e.code)
	if hasattr(e,'reason'):
		print(e.reason)
     大体思路:

           1.分析目标网页url需要的元素

           2.确定是否需要编写headers骗取服务器

           3.爬取一整页内容(使用request,response)

           4.编写正则表达式(关键)

               在此推荐大家两个网站deerchao的正则表达式30分钟入门教程正则表达式在线测试工具-站长工具, 一个用于学习,一个用于对自己编写的正则进行测试


三、

     第一次认真写博客,其实也不知道自己写什么好,就先写到这么多吧,以后想到什么再更新,keep coding !

       完整代码上传到了github:https://github.com/callMeBin2217/python3_Spider ,有兴趣的可以下载来看看,或者和我交流也可以。小小小小小小白求轻喷...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值