urlib库实战1---爬取豆瓣出版社名称

一.作业目标:爬取豆瓣网出版社名并存放到txt文本中。

二.编写源码步骤:

1:导入urllib库,并读取豆瓣网源码信息:

urlib库实战1---爬取豆瓣出版社名称

     用decode对读取的信息进行编码处理,有的时候用“UTF-8”也会报错,以后具体问题具体分析。

2:编写正则表达式,获取出版社信息:

urlib库实战1---爬取豆瓣出版社名称

注意:

   A:   mydata中存储的数据是以数组的形式进行存放的。所以可以用for循环进行输出。

   B:    其中正则表达式的编写方式:

         (1)打开豆瓣网,右键“查看源文件”(2)找到出版社的源代码格式,如下图所示(3)运用正则表达式的懒惰模式

urlib库实战1---爬取豆瓣出版社名称urlib库实战1---爬取豆瓣出版社名称urlib库实战1---爬取豆瓣出版社名称此为出版社源码<div class="name">出版社名</div>

3.在电脑盘中新建txt文件,如图015.txt,按行写入文件中

urlib库实战1---爬取豆瓣出版社名称

以写入的方式打开新建的文件,并且循环写入,每读取一个出版社进行换行。len(mydata)获取mydata的长度。

urlib库实战1---爬取豆瓣出版社名称

4.关闭文件,查看数据

urlib库实战1---爬取豆瓣出版社名称

urlib库实战1---爬取豆瓣出版社名称

三.综上所述,总体源码为:

>>> from urllib import request
>>> dada=request.urlopen("http://read.douban.com/provider/all").read()

>>> data=data.decode("utf-8")

>>> import re
>>> pat='<div class="name">(.*?)</div>'

>>> mydata=re.compile(pat).findall(data)

>>> fh=open("G:/BaiduDownload/python网络爬虫/WODE/015x.txt","w")
>>> for i in range(0,len(mydata)):
fh.write(mydata[i]+"\n")

>>> fh.close()

 关于路径问题,根据自己 的路径进行更改。