python爬虫04
来源:互联网 发布:如何将照片导入mac 编辑:程序博客网 时间:2024/05/20 22:35
不多说了,上代码,看注释吧,写的够详细了
# encoding: utf-8#加载bs4、urllib2from bs4 import BeautifulSoupimport urllib2import codecsimport reimport sysimport types#定义一个方法,方法的作用提交url并获取到到此url的html页面源码def header (url): user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36' header = {'User-Agent':'user_agent'} #把url、header穿过去 re = urllib2.Request(url,headers=header) respone = urllib2.urlopen(re,'html.parser') #获取html代码,保存到htmlcode,一个字符串 htmlcode = respone.read() return htmlcode#定义一个把爬取到的内容,写入到文本的方法def file_save(file_name,text): #由于开始文本是不存在的,所以使用w,进行检查如果不存在就创建,如果是r,那么就是追加 f = open(file_name,'w') #把list写入到file_name里面,并且list进行换行,注意的是用join,据说效率比+ 高 f.write('\n'.join(text)) #关闭文件 f.close()#定义一个方法,接受三个参数、url、开始也、结束页def load_url(url,begin_page,end_page): #加载这个,是解决utf8的问题 reload(sys) sys.setdefaultencoding('utf8') #拼接url,重点重点,搞了好长时间 for i in range(begin_page,end_page+1): zcurl = url + str(i) zc_html_code = header(zcurl) #这里是一个列表了 st = st_html(zc_html_code) print st file_name = str(i) + '.txt' file_save(file_name,st)#定义爬取规则的方法def st_html(text): soup = BeautifulSoup(text,'html.parser') #这段代码的意思,先用find查找第一个table,然后在table里面查找target find_html = soup.find('table','table_body').find_all(attrs={'target':'_blank'}) #find_html = soup.find_all(attrs={'target':'_blank'}).string #因为要return回去,所以先创建一个空的列表 list = [] for i in find_html: #注意。.get_text获取文本,如果获取url,参照上一篇的文章,i['herf] a = i.get_text() list.append(a) #返回列表,load_url要调用 return listurl = 'https://www.chinabidding.cn/search/searchzbw/search2?rp=22&categoryid=1&keywords=轨道交通&page='begin_page = input("请输入开始页的id:")end_page = input("请输入结束页的id:")load_url(url,begin_page,end_page)
阅读全文
0 0
- python爬虫04
- python爬虫04--有道翻译
- python爬虫-->爬虫基础
- [爬虫] Python爬虫技巧
- Python爬虫
- python 爬虫
- python 爬虫
- python 爬虫
- python爬虫
- Python爬虫
- Python爬虫
- python 爬虫
- Python爬虫
- python爬虫
- python 爬虫
- python 爬虫
- python爬虫
- python爬虫
- FTP学习1_FTP命令字和响应码解释
- Python 之study
- 09springmvc异常处理-抛出异常-异常测试
- 嵌入式每日学习心得2017.08.07
- Go语言学习笔记 --- slice切片
- python爬虫04
- 第二天:勇于踏出去
- Poj 1502 MPI Maelstrom (Dijkstra
- node.js 探索之路(概念进阶)
- Android 完整漂亮问卷、试卷 -- 支持单选、判断、不定项
- 二叉树的存储和遍历
- 561. Array Partition I
- 娜娜梦游仙境系列——多民族王国
- 图论--最小生成树总结(Prim&&Kruskal)