当前位置: 移动技术网 > IT编程>脚本编程>Python > 用Python程序抓取网页的HTML信息的一个小实例

用Python程序抓取网页的HTML信息的一个小实例

2019年06月14日  | 移动技术网IT编程  | 我要评论
抓取网页数据的思路有好多种,一般有:直接代码请求http、模拟浏览器请求数据(通常需要登录验证)、控制浏览器实现数据抓取等。这篇不考虑复杂情况,放一个读取简单网页数据的小例

抓取网页数据的思路有好多种,一般有:直接代码请求http、模拟浏览器请求数据(通常需要登录验证)、控制浏览器实现数据抓取等。这篇不考虑复杂情况,放一个读取简单网页数据的小例子:
目标数据

将ittf网站上这个页面上所有这些选手的超链接保存下来。

201552150315618.png (600×587)

数据请求

真的很喜欢符合人类思维的库,比如requests,如果是要直接拿网页文本,一句话搞定:

doc = requests.get(url).text

解析html获得数据

以beautifulsoup为例,包含获取标签、链接,以及根据html层次结构遍历等方法。参考见这里。下面这个片段,从ittf网站上获取指定页面上指定位置的链接。

url = 'http://www.ittf.com/ittf_ranking/wr_table_3_a2.asp?age_category_1=&age_category_2=&age_category_3=&age_category_4=&age_category_5=&category=100w&cont=&country=&gender=w&month1=4&year1=2015&s_player_name=&formv_wr_table_3_page='+str(page)
doc = requests.get(url).text
soup = beautifulsoup(doc)
atags = soup.find_all('a')
rank_link_pre = 'http://www.ittf.com/ittf_ranking/'

mlfile = open(linkfile,'a')
for atag in atags:
  #print atag
  if atag!=none and atag.get('href') != none:
    if "wr_table_3_a2_details.asp" in atag['href']:
      link = rank_link_pre + atag['href']
      links.append(link)
      mlfile.write(link+'\n')
      print 'fetch link: '+link
mlfile.close()

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网