乙個簡單的入門級Python爬蟲

2021-08-26 12:25:20 字數 1646 閱讀 2828

乙個簡易爬蟲,主要功能是爬取全國各地空氣質素資料,輸出到乙個csv檔案,後續加入相關資料處理得出實時空氣質素排名前10和後10的城市及其空氣質素(aqi)。

使用的是beautifulsoup庫,具體用法參照

import requests

from bs4 import beautifulsoup

import csv

def get_city_aqi(city_pinyin):

url = '' + city_pinyin

r = requests.get(url, timeout=30)

soup = beautifulsoup(r.text, 'lxml')

div_list = soup.find_all('div', )

city_aqi =

for i in range(8):

div_content = div_list[i]

caption = div_content.find('div', ).text.strip()

value = div_content.find('div', ).text.strip()

return city_aqi

def get_all_cities():

url = ''

city_list =

r = requests.get(url, timeout=30)

soup = beautifulsoup(r.text, 'lxml')

city_div = soup.find_all('div', )[1]

city_link_list = city_div.find_all('a')

for city_link in city_link_list:

city_name = city_link.text

city_pinyin = city_link['href'][1:]

return city_list

def main():

city_list = get_all_cities()

header = ['city', 'aqi', 'pm2.5/h', 'pm10/h', 'co/h', 'no2/h', 'o3/h', 'o3/8h', 'so2/h']

with open('china_cities_aqi.csv', 'w', encoding='utf-8', newline='') as f:

writer = csv.writer(f)

writer.writerow(header)

for i, city in enumerate(city_list):

if(i + 1) % 10 == 0:

print('已處理{}條記錄(共{}條)'.format(i + 1, len(city_list)))

city_name = city[0]

city_pinyin = city[1]

city_aqi = get_city_aqi(city_pinyin)

row = [city_name] + city_aqi

writer.writerow(row)

if __name__ == '__main__':

main()

乙個入門級python爬蟲教程詳解

爬蟲的定義 定向抓取網際網路內容 大部分為網頁 並進行自動化資料處理的程式。主要用於對鬆散的海量資訊進行收集和結構化處理,為資料分析和挖掘提供原材料。今日t條就是乙隻巨大的 爬蟲 爬蟲由url庫 採集器 解析器組成。如果待爬取的url庫不為空,採集器會自動爬取相關內容,並將結果給到解析器,解析器提取...

go 入門級 乙個http服務

servemux 是go自帶的http請求處理器,是乙個路由表,存放key value。根據請求路徑 key 在路由表中查詢,按照最長匹配原則 並將請求交給對應的處理函式 value 匯入http包,介紹幾個方法 http.listenandserve addr string,handler han...

乙個NLP入門級的完整實驗(一)

nlp發展已經很長一段時間了,相比cv,nlp入門要難一些,我相信很多人都像我當初一樣,看了很多的演算法,公式,模型,一頭霧水,看懂了又好似沒看懂,模型原理背的滾瓜爛熟,但是做不出來東西,看了別人的原始碼感覺好像就那麼回事,但是復現不出來。因此,我決定從乙個具體的實驗角度一步一步的循序漸進,像是寫日...