本站使用了 Pjax 等基于 JavaScript 的开发技术,但您的浏览器已禁用 JavaScript,请开启 JavaScript 以保证网站正常显示!

Python爬虫学习(2) _ 初出茅庐

学习记录

通过[风变编程]的课程学习, 写了爬取某网站的足球数据

爬取足球比分数据:

# 要点:
# - 通过re.compile查询匹配的标签
# - 通过多次find定位到循环列表, 然后用find_all获取
import requests
from bs4 import BeautifulSoup as bsoup
import re
import csv
res = requests.get('http://网址隐藏/?e=2019-11-06')
res.encoding = 'GB2312'
print(res.status_code)
text = res.text
text_div = bsoup(text,'html.parser')

table = text_div.find('table',id = 'table_match') # 定位到<table ... id='table_match'>
tbody = table.find('tbody') # 定位到<tbody>
tr = tbody.find_all('tr') # 定位到<tr>
print(tr)
list = []
for tr_tag in tr: # 提取tag
    fid = tr_tag['fid'] # tr属性['fid']

    td = tr_tag.find_all('td') # 定位到<td>
    # [0]场次;[1]联赛;[2]轮次;[3]比赛时间;[4]状态;[5][gray]主排名;[5][a]主队;[5][sp]受让球;
    # [6][clt1]主进球;[6][clt3]客进球;[7][a]客队;[7][gray]客排名;[8]半场比分
    match_no = td[0].text
    league = td[1].text
    match_turns = td[2].text
    match_time = td[3].text
    status = td[4].text
    home_name = td[5].find('a').text
    guest_name = td[7].find('a').text
    sp = td[5].find_all('span',class_=re.compile('sp'))[0].text
    clt1 = td[6].find_all('a',class_='clt1')[0].text
    clt3 = td[6].find_all('a',class_='clt3')[0].text 
    half_scores = td[8].text
    # home_gray = td[5].find_all('span',class_='gray')[0].text
    # guest_gray = td[7].find_all('span',class_='gray')[0].text

    list.append([fid,match_no,league,match_turns,match_time,status,home_name,guest_name, \
        sp,clt1,clt3,half_scores])
print(list)
with open ('live500.csv','a',newline = '') as file:
    wr = csv.writer(file)
    wr.writerows(list)




 继续浏览关于 爬虫 的文章

 本文最后更新于:2020/01/11 15:12:36,可能因经年累月而与现状有所差异,有任何疑问可以随时与258771198@qq.com沟通,邮箱永久有效

 引用转载请注明:manacode > Python > Python爬虫学习(2) _ 初出茅庐

发现共鸣

如是说:最终让你难以忘怀的,并不是某个谁,而是当初为之倾心,不顾一切的自己。