91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中requests庫爬取網站亂碼的解決方法

發布時間:2021-10-19 10:36:22 來源:億速云 閱讀:175 作者:柒染 欄目:大數據

Python中requests庫爬取網站亂碼的解決方法,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

【寫在前面】

在用requests庫對自己的CSDN個人博客(https://blog.csdn.net/yuzipeng)進行爬取時,發現亂碼報錯(\xe4\xb8\xb0\xe5\xaf\x8c\xe7\x9),如下圖所示:

Python中requests庫爬取網站亂碼的解決方法

網上 查找了一些方法,以為是遇到了網站加密處理。后來發現 通過F12還 是能獲取網頁的元素,那么有什么辦法能規避亂碼問題呢?答案是:用selenium.

【效果如下】

Python中requests庫爬取網站亂碼的解決方法

【示例代碼】

# coding=utf-8# @Auther : "鵬哥賊優秀"# @Date : 2019/10/16# @Software : PyCharm
from selenium import webdriver
url = 'https://blog.csdn.net/yuzipeng'driver = webdriver.Chrome("F:\\Python成長之路\\chromedriver.exe")driver.get(url)urls = driver.find_elements_by_xpath('//div[@class="article-item-box csdn-tracking-statistics"]')blogurl = ['https://blog.csdn.net/yuzipeng/article/details/' + url.get_attribute('data-articleid') for url in urls]titles = driver.find_elements_by_xpath('//div[@class="article-item-box csdn-tracking-statistics"]/h5/a')blogtitle = [title.text for title in titles]myblog = {k:v for k,v in zip(blogtitle,blogurl)}for k,v in myblog.items():    print(k,v)driver.close()

【知識點】

1、selenium使用

基本的selenium安裝方法、使用方法

(https://blog.csdn.net/yuzipeng/article/details/100179696)

2、推導式使用

(1)列表推導式:[表達式 for 變量 in 列表]    或者  [表達式 for 變量 in 列表 if 條件]

    類似這樣就可以實現將for循環的多行程序濃縮到一句代碼 中,如

blogtitle = [title.text for title in titles]

而如果用for循環寫,則需要這樣:

blogtitle = []for title in titles:    blogtitle.append(title)

(2)字典推導式:{ key表達式: value表達式 for value in collection if condition }

這樣的寫法,一般用于key和value能相互轉換;但是如果key和value是完全不同的列表,那就需要用zip對key/value進行整合。

myblog = {k:v for k,v in zip(blogtitle,blogurl)}

如果對zip函數不熟悉,可以用下面的例子來 介紹下。

a = ['a', 'b', 'c']b = [1, 2, 3]c = {k: v for k, v in zip(a, b)}print(c) 結果是:{'a': 1, 'b': 2, 'c': 3}

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广安市| 镇原县| 鄂托克前旗| 海淀区| 两当县| 尼玛县| 虹口区| 乃东县| 安国市| 咸宁市| 邯郸县| 理塘县| 甘孜| 镇平县| 丰原市| 松滋市| 南部县| 苏尼特左旗| 兴山县| 旬邑县| 正宁县| 当雄县| 禄丰县| 米泉市| 周至县| 佛冈县| 苍山县| 永新县| 当涂县| 东光县| 潮州市| 宁海县| 甘德县| 乐山市| 九台市| 陆川县| 东丽区| 岳阳县| 青海省| 大城县| 昌图县|