python爬虫03

来源:互联网 发布:淘宝不用钱买东西 编辑:程序博客网 时间:2024/06/04 01:06

直接上代码

# encoding: utf-8#加载bs4、urllib2from bs4 import BeautifulSoupimport urllib2import re#定义一个方法,方法的作用提交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(filename,text):    #由于开始文本是不存在的,所以使用w,进行检查如果不存在就创建,如果是r,那么就是追加    f = open(filename,'w')    f.write(text)    f.close()#定义一个方法,接受三个参数、url、开始也、结束页def load_url(url,begin_page,end_page):    #拼接url    for i in range(begin_page,end_page+1):        zcurl = url + str(i)        zc_html_code = header(zcurl)        st_html(zc_html_code)#定义爬取规则的方法def st_html(text):    soup = BeautifulSoup(text,'html.parser')    #重点在这里,在这里耽误了好长时间,下面这段话的意思,是首先find找table,然后后面跟着find_all,意思是在table里面查找target标签的内容    find_html = soup.find('table','table_body').find_all(attrs={'target':'_blank'})    #find_html = soup.find_all(attrs={'target':'_blank'}).string    #返回的一个list,用for循环读取出来    for i in find_html:        print i.get_text()url = '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)

原创粉丝点击