欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python网络爬虫(一)

程序员文章站 2022-05-08 17:44:29
...

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

<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










转载于:https://my.oschina.net/MrYx3en/blog/297930

上一篇: js去重

下一篇: 连一滴都没有