如何使用python2.7爬取网页数据

  介绍

如何使用python2.7爬取网页数据?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

# !/usr/bin/python    #,- *安康;编码:,UTF-8  - *安康;   ,   得到bs4  import  BeautifulSoup    import  urllib    import  urllib2    import  codecs    import  re    import  time    import  logging    import  MySQLdb    ,   ,   class 工作(对象):   ,   #,才能初始化,   “““才能docstring  for  Jobs"““,   ,   def 才能__init__(自我):,   ,,,超级(工作,,自我). __init__ (),   ,,,,   ,,,logging.basicConfig (=logging.DEBUG水平,,   ,,,,,,,,格式=& # 39;% (asctime) s  %(文件名)s(线:% (lineno) d), % (levelname) s  %(消息)& # 39;),   ,,,#数据库的操作,没有mysql可以做屏蔽,   ,,,self.db =, MySQLdb.connect(& # 39; 127.0.0.1 # 39; & # 39;根# 39;,& # 39;rootroot& # 39;, & # 39; MySQL_Test& # 39;, charset=& # 39; use utf8 # 39;),   ,,,self.cursor =, self.db.cursor (),   ,   ,,,#日志日志的显示,   ,,,self.logger =, logging.getLogger (“sjk"),   ,   ,,,self.logger.setLevel(水平=logging.DEBUG),   ,   ,,,formatter =, logging.Formatter (,   ,,,,,& # 39;% (asctime) s 作用;%(名字)s 作用;% (levelname) s 作用;%(消息)& # 39;),   ,,,handler =, logging.FileHandler (& # 39; log.txt& # 39;),   ,,,handler.setFormatter(格式化程序),   ,,,handler.setLevel (logging.DEBUG),   ,,,self.logger.addHandler(处理器),   ,   ,,,self.logger.info(& # 39;初始化完成& # 39;),   ,   #,才能模拟请求数据,   def 才能;jobshtml(自我,,钥匙,,页面=& # 39;1 & # 39;):,   ,,,试一试:,   ,,,,,self.logger.info(& # 39;开始请求第& # 39;,+,page  +, & # 39;页& # 39;),   ,,,,,#网页url    ,,,,,searchurl =,, https://search.51job.com/list/040000, 000000年,0000年,00,9日,99年,{关键},2,{页面}. html ? lang=c&药栓=,postchannel=0000, workyear=99,共型=99°reefrom=99, jobterm=99, companysize=99, providesalary=99, lonlat=0% 2 c0&半径=1,ord_field=0, confirmdate=9, fromType=, dibiaoid=0,地址=,=,行specialarea=00,从=,福利=?   ,   ,,,,,user_agent =, & # 39; Mozilla/5.0, (Macintosh;, Intel  Mac  OS  X  10.13;,房车:59.0),壁虎/20100101,Firefox/59.0 & # 39;,   ,,,,,#设置请求头,   ,,,,,header =,{& # 39;用户代理# 39;:,user_agent,, & # 39;主机# 39;:,& # 39;search.51job.com& # 39;,,   ,,,,,,,,,,& # 39;推荐人# 39;:,& # 39;https://www.51job.com/& # 39;},   ,,,,,#拼接url    ,,,,,finalUrl =, searchurl.format(键=键,页面=页面),   ,,,,,,   ,,,,,request =, urllib2.Request (finalUrl,,头=头),   ,   ,,,,,response =, urllib2.urlopen(请求),   ,,,,,#等待网页加载完成,   ,,,,,time . sleep (3),   ,,,,,# gbk格式解码,   ,,,,,info =, response.read () .decode (& # 39; gbk # 39;),   ,   ,,,,,self.logger.info(& # 39;请求网页网页& # 39;),   ,   ,,,,,self.decodeHtml(信息=info,键=键,,=页页),   ,   ,,,except  urllib2.HTTPError  as  e:,   ,,,,,print  e.reason    ,   #,才能解析网页数据,   def 才能;decodeHtml(自我,,信息,,键,页面):,   ,,,self.logger.info(& # 39;开始解析网页数据& # 39;),   ,,,# BeautifulSoup 解析网页,   ,,,soup =, BeautifulSoup(信息,,& # 39;html.parser& # 39;),   ,,,#找到class =, t1  t2  t3  t4  t5 的标签数据,   ,,,ps =, soup.find_all (attrs={“class": re.compile (" # 39; ^ t [1 - 5]。* & # 39;)}),   ,,,#打开txt文件,a +,代表追加,   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何使用python2.7爬取网页数据