加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python爬虫_入门

发布时间:2020-12-17 00:10:11 所属栏目:Python 来源:网络整理
导读:本来觉得没什么可写的,因为网上这玩意一搜一大把,不过爬虫毕竟是python的一个大亮点,不说说感觉对不起这玩意基础点来说,python2写爬虫重点需要两个模块,urllib和urllib2,其实还有re先介绍下模块的一些常用功能urllib.urlopen('http://xxx.xxx.xxx') #

本来觉得没什么可写的,因为网上这玩意一搜一大把,不过爬虫毕竟是python的一个大亮点,不说说感觉对不起这玩意基础点来说,python2写爬虫重点需要两个模块,urllib和urllib2,其实还有re先介绍下模块的一些常用功能urllib.urlopen('http://xxx.xxx.xxx') #打开一个网址,只是打开,和open差不多urllib2.Request(url) #解析网址,这个可以省略,具体不是很懂,一些功能,比如加head头什么的也需要使用这个urllib.urlretrieve(url,filename) #下载用,把url提供的东西down下来,并用filename保存举个蜂鸟爬图片的例子,下面上伪代码:

12345、循环下载

看图上,图片链接格式是src="http://index_url/page_num/image_name.jpg?XXXXXXX",那么如果需要下载的话一定是需要红圈部分,也就是http://index_url/page_num/image_name.jpg分析之后后面的事就好办了,下面上代码

<span style="color: #008000">#<span style="color: #008000">处理地址,并获取页面全部的图片地址
<span style="color: #0000ff">def
<span style="color: #000000"> get_image_url(url):
<span style="color: #008000">#
<span style="color: #008000">url_format = urllib2.Request(url) #1
url_open = urllib.urlopen(url) <span style="color: #008000">#<span style="color: #008000">2
url_read = url_open.read() <span style="color: #008000">#<span style="color: #008000">3
re_value = re.compile(<span style="color: #800000">'<span style="color: #800000">(?<=src=").*?.jpg<span style="color: #800000">'<span style="color: #000000">)
image_url_list = re.findall(re_value,url_read) <span style="color: #008000">#<span style="color: #008000">4
<span style="color: #0000ff">return<span style="color: #000000"> image_url_list

<span style="color: #008000">#<span style="color: #008000">这个函数专门用来下载,前面两行是将图片连接中/前面的内容全部删除,留下后面的文件名用来保存文件的,try不说了,不清楚请翻回去看容错
<span style="color: #0000ff">def<span style="color: #000000"> down_image(image_url):
rev = <span style="color: #800000">'<span style="color: #800000">^.*/<span style="color: #800000">'<span style="color: #000000">
file_name = re.sub(rev,<span style="color: #800000">''<span style="color: #000000">,image_url)
<span style="color: #0000ff">try<span style="color: #000000">:
urllib.urlretrieve(image_url,file_name)
<span style="color: #0000ff">except<span style="color: #000000">:
<span style="color: #0000ff">print <span style="color: #800000">'<span style="color: #800000">download %s fail<span style="color: #800000">' %<span style="color: #000000">image_url
<span style="color: #0000ff">else<span style="color: #000000">:
<span style="color: #0000ff">print <span style="color: #800000">'<span style="color: #800000">download %s successed<span style="color: #800000">' %<span style="color: #000000">image_url

<span style="color: #0000ff">if <span style="color: #800080">name == <span style="color: #800000">'<span style="color: #800000">main<span style="color: #800000">'<span style="color: #000000">:
url = <span style="color: #800000">'<span style="color: #800000">http://bbs.fengniao.com/forum/10384633.html<span style="color: #800000">'<span style="color: #000000">
image_url_list =<span style="color: #000000"> get_image_url(url)
<span style="color: #0000ff">for image_url <span style="color: #0000ff">in<span style="color: #000000"> image_url_list:
down_image(image_url) <span style="color: #008000">#<span style="color: #008000">5

困死,睡觉去。。。。。有时间再说说翻页什么的,就能爬网站了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读