python抓取简单网页数据的小实例

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

目标数据

将ittf网站上这个页面上全部这些选手的超连接保存下来。
图片描述python

数据请求

真的很喜欢符合人类思惟的库,好比requests,若是是要直接拿网页文本,一句话搞定:浏览器

doc = requests.get(url).text

解析html得到数据

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

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()
相关文章
相关标签/搜索