python网络爬虫(一)
博客专区 > MrYx3en 的博客 > 博客详情
python网络爬虫(一)
MrYx3en 发表于3年前
python网络爬虫(一)
  • 发表于 3年前
  • 阅读 18
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: python3.3 urllib模块和python2.x有很大的区别

分析韩寒博客文章列表特征;

<a href="http://blog.sina.com.cn/s/blog_4701280b0102egl0.html" target="_blank">地震思考录</a>

<a title=     &middot;&middot;&middot;&middot;&middot;  href=     &middot;&middot;&middot;&middot;

提取字符串里的网络链接地址;

url = str0[href : html + 5]

下载韩寒博客指定的内容到本地。

import urllib.request

#<a title="《论电影的七个元素》——关于我对电影的一些看法以及《后会无期》的一些消息" target="_blank" href="http://blog.sina.com.cn/s/blog_4701280b0102eo83.html">
#enconfig:utf-8

str0= '<a title="《论电影的七个元素》——关于我对电影的一些看法以及《后会无期》的一些消息" target="_blank" href="http://blog.sina.com.cn/s/blog_4701280b0102eo83.html">'
title = str0.find(r'<a title')
print(title)
href = str0.find(r'href=')
print(href)
html = str0.find(r'.html')
print(html)
url = str0[href + 6:html +5]   #列表切片
print(url)
content = urllib.request.urlopen(url).read()
#print(content)
filename = url[-26:]   #文件名称以url中  ‘blog_4701280b0102eo83.html’  的方式命名
print(filename)
open(filename,'wb').write(content)


遇到的问题:

open 访问任何形式文件 访问非文本格式文件(二进制文件)的时候   访问模式通常加 'b'(即 二进制模式:'rb'或者是'wb'),否则会抛出如下的  TypeError 异常:

open(filename,'w').write(content)    #错误格式  要加 'b'  即   'wb'

Traceback (most recent call last):
  File "C:\Users\Alen\Desktop\wangluopacchong.py", line 19, in <module>
    open(filename,'w').write(content)
TypeError: must be str, not bytes










共有 人打赏支持
粉丝 10
博文 88
码字总数 30598
×
MrYx3en
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: