0
点赞
收藏
分享

微信扫一扫

day23semenium的基本操作

奔跑的酆 2022-03-17 阅读 44
python

day23semenium的基本操作

1获取网络数据

1,找接口(在network,tetch,刷新列表,展开preview右边的列表。

有接口只有用requesets对接口(headers,requests)发送请求(可能是get或者host)

2,直接用requests对网址发送请求,加user_agent,cookie

3,用selenium

4,放弃

2selenuim流程

1导包

from selenium.webdriver import Chrome
from bs4 import BeautifulSoup
import csv, time

2创建一个浏览器对象

b=Chrome

3开口网页

b.get(‘url’)

选取网页操作

select=b.find_element_by_css_selector(css)

点击按钮

select.click()

4解析网页

soup=BeautifulSoup(b.pagesource,‘lmxl’)

爬取实时疫情数据

all_li=soup.select('.index_1-1-328_2IAAkE>div:nth-child(2)>a')
other_li=soup.select('#foreignTable > table > tbody > tr > td > table tr')

# print(all_li)
all_data1=[]
all_data2=[]
for i in all_li:
    #地区名
    area=i.select_one('.index_1-1-328_tDJ_ee>span').text
    print(area)
    #新增本土
    # new = i.select('.index_1-1-328_3bRacm>.index_1-1-328_11uz11')[1].text
    new = i.select('.index_1-1-328_3bRacm>div')[1].text


    # print(new)
    #现有病例
    # now=i.select('.index_1-1-328_3bRacm>.index_1-1-328_11uz11')[2].text
    now=i.select('.index_1-1-328_3bRacm>div')[2].text
    # print(now)
    all_data2.append([area, new, now])
    #外国
for i in other_li:
    #国家
    country=i.select_one('.VirusTable_1-1-328_AcDK7v').text
    # foreignTable > table > tbody > tr > td > table > tbody > tr:nth-child(1) > td:nth-child(1) > a > div.
    #新增
    o_new=i.select('.VirusTable_1-1-328_2AH4U9>td')[1].text
    #累计
    o_count=i.select('.VirusTable_1-1-328_2AH4U9>td')[2].text

    #治愈
    o_cure=i.select('.VirusTable_1-1-328_2AH4U9>td')[3].text

    #死亡
    o_death=i.select('.VirusTable_1-1-328_2AH4U9>td')[4].text

    all_data2.append([country,o_new,o_count,o_cure,o_death])
f=open('./file/yiqing.csv','w',encoding='utf-8',newline='')
writer=csv.writer(f)
writer.writerow(['城市','新增','现有','外国名字','该国新增','该国累计','该国治愈','该国死亡'])
list1=all_data1+all_data2
print(list1)
writer.writerows(list1)
举报

相关推荐

0 条评论