欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python?selenium.webdriver?爬取政策文件的實現(xiàn)

 更新時間:2023年07月20日 10:14:48   作者:Cachel?wood  
本文主要介紹了python?selenium.webdriver?爬取政策文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

獲取文章鏈接

獲取中央人民政府網(wǎng)站鏈接,進入國務(wù)院政策文件庫,分為國務(wù)院文件和部門文件(發(fā)改委、工信部、交通運輸部、市場監(jiān)督局、商務(wù)部等)

搜索關(guān)鍵詞——汽車,即可得到按照 相關(guān)度 或者 時間 排列的政策文件。

批量爬取政策文件

批量獲取文件鏈接并存入列表

應(yīng)用selenium爬取文件信息

利用xpath定位鏈接、索引號、標(biāo)題、發(fā)文機關(guān)、發(fā)文字號、主題分類、成文日期、發(fā)布日期、文件內(nèi)容等信息。

右側(cè)通過光標(biāo)定位各部分信息,右鍵點擊 copy 并選擇 copy xpath即可復(fù)制xpath路徑。

完整代碼

from selenium import webdriver
from urllib.error import HTTPError
from selenium.webdriver.common.by import By   #selenium新版本寫法
import warnings
warnings.filterwarnings('ignore')
"""
爬蟲國務(wù)院文件
傳入鏈接,返還鏈接內(nèi)的全部內(nèi)容,生成字典
"""
def get_info(id,url):
    options = webdriver.ChromeOptions()
    options.add_argument('--headless')
    options.add_argument('--no-sandbox')
    options.add_argument('--disable-dev-shm-usage')
    driver = webdriver.Chrome(options=options)
    link = {}
    driver.get(url)
    try:
        link['文章ID'] = id  # 序列ID,從0—現(xiàn)有的文件數(shù)
        link['鏈接'] = url  # 原文鏈接
        #time.sleep(3)
        link['索引號'] = driver.find_element(By.XPATH,
            '/html/body/div[4]/div/div[2]/div[1]/table/tbody/tr/td/table/tbody/tr[1]/td[2]').text  # 索引號
        link['標(biāo)題'] = driver.find_element(By.XPATH,
            "/html/body/div[4]/div/div[2]/div[1]/table/tbody/tr/td/table/tbody/tr[3]/td[2]").text  # 標(biāo)題
        link['發(fā)文機關(guān)'] = driver.find_element(By.XPATH,
            "/html/body/div[4]/div/div[2]/div[1]/table/tbody/tr/td/table/tbody/tr[2]/td[2]").text  # 發(fā)文機關(guān)
        link['發(fā)文字號'] = driver.find_element(By.XPATH,
            "/html/body/div[4]/div/div[2]/div[1]/table/tbody/tr/td/table/tbody/tr[4]/td[2]").text  # 發(fā)文字號
        link['主題分類'] = driver.find_element(By.XPATH,
            "/html/body/div[4]/div/div[2]/div[1]/table/tbody/tr/td/table/tbody/tr[1]/td[4]").text  # 主題分類
        link['成文日期'] = driver.find_element(By.XPATH,
            "/html/body/div[4]/div/div[2]/div[1]/table/tbody/tr/td/table/tbody/tr[2]/td[4]").text  # 成文日期
        link['發(fā)布日期'] = driver.find_element(By.XPATH,
            '/html/body/div[4]/div/div[2]/div[1]/table/tbody/tr/td/table/tbody/tr[4]/td[4]')   # 發(fā)布日期
        link['文件內(nèi)容'] = driver.find_element(By.XPATH,"http://*[@id='UCAP-CONTENT']").text  # 內(nèi)容
        with open('汽車/國務(wù)院文件/'+link['標(biāo)題']+'.txt','w',encoding='utf-8') as file:
            file.write(link['文件內(nèi)容'])
    except HTTPError:
        return None
    driver.quit()
    return link

數(shù)據(jù)處理

每次爬取單一文件信息并整理為dataframe,之后按行合并。

import pandas as pd
df = pd.DataFrame()
with open('link1.txt','r',encoding='utf-8') as f:
    links = f.readlines()
for id,url in enumerate(links):
    url = url.strip('\n')
    print(url)
    result = get_info(id,url)
    df1 = pd.DataFrame.from_dict(result,'index').T
    df = pd.concat([df,df1],axis=0)
df

導(dǎo)出為excel

df.to_excel('汽車行業(yè)政策文本研究.xlsx',index=False)

到此這篇關(guān)于python selenium.webdriver 爬取政策文件的實現(xiàn)的文章就介紹到這了,更多相關(guān)python selenium.webdriver 爬取內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Python裝飾器由淺入深

    詳解Python裝飾器由淺入深

    裝飾器的功能在很多語言中都有,名字也不盡相同,其實它體現(xiàn)的是一種設(shè)計模式,強調(diào)的是開放封閉原則,更多的用于后期功能升級而不是編寫新的代碼。本文盡量描述得淺顯易懂,從最基礎(chǔ)的內(nèi)容講起。
    2016-12-12
  • tensorflow 初始化未初始化的變量實例

    tensorflow 初始化未初始化的變量實例

    今天小編就為大家分享一篇tensorflow 初始化未初始化的變量實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python中處理字符串之endswith()方法的使用簡介

    Python中處理字符串之endswith()方法的使用簡介

    這篇文章主要介紹了Python中處理字符串之endswith()方法的使用,是Python入門中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • anaconda3安裝及jupyter環(huán)境配置全教程

    anaconda3安裝及jupyter環(huán)境配置全教程

    這篇文章主要介紹了anaconda3安裝及jupyter環(huán)境配置全教程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Python flask項目入門教程

    Python flask項目入門教程

    flask 是一門使用 python 編寫的后端框架,這篇文章主要介紹了Python flask項目入門教程,本文通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • python中Pyqt5使用Qlabel標(biāo)簽進行視頻播放

    python中Pyqt5使用Qlabel標(biāo)簽進行視頻播放

    這篇文章主要介紹了python中Pyqt5使用Qlabel實現(xiàn)標(biāo)簽進行視頻播放,QLabel是界面中的標(biāo)簽類,繼承自QFrame類,提供文本和圖像的顯示,是一種展示控件,下文相關(guān)內(nèi)容介紹需要的小伙伴可以參考一下
    2022-04-04
  • PyCharm調(diào)用matplotlib繪圖時圖像彈出問題詳解

    PyCharm調(diào)用matplotlib繪圖時圖像彈出問題詳解

    這篇文章主要給大家介紹了關(guān)于PyCharm調(diào)用matplotlib繪圖時圖像彈出問題的相關(guān)資料,文中通過圖文介紹的非常詳細,對大家學(xué)習(xí)或者使用PyCharm具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-07-07
  • 關(guān)于Python中浮點數(shù)精度處理的技巧總結(jié)

    關(guān)于Python中浮點數(shù)精度處理的技巧總結(jié)

    雙精度浮點數(shù)(double)是計算機使用的一種數(shù)據(jù)類型,使用 64 位(8字節(jié)) 來存儲一個浮點數(shù)。下面這篇文章主要給大家總結(jié)介紹了關(guān)于Python中浮點數(shù)精度處理的技巧,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • PyCharm在win10的64位系統(tǒng)安裝實例

    PyCharm在win10的64位系統(tǒng)安裝實例

    給大家介紹一下在win10的64位系統(tǒng)中安裝PyCharm的操作過程以及需要注意的地方。
    2017-11-11
  • python僵尸進程產(chǎn)生的原因

    python僵尸進程產(chǎn)生的原因

    這篇文章主要給大家講解的是在Python中是如何產(chǎn)生僵尸進程的,以及如何清除僵尸進程的方法,有需要的小伙伴可以參考下
    2017-07-07

最新評論