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

溫馨提示×

溫馨提示×

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

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

在Python中使用requests庫爬取數據時返回為空如何解決

發布時間:2021-02-22 15:21:16 來源:億速云 閱讀:884 作者:Leah 欄目:開發技術

在Python中使用requests庫爬取數據時返回為空如何解決?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Python主要用來做什么

Python主要應用于:1、Web開發;2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發;5、游戲開發;6、桌面應用開發。

html字段:

在Python中使用requests庫爬取數據時返回為空如何解決

robots協議:

在Python中使用requests庫爬取數據時返回為空如何解決

現在我們開始用python IDLE 爬取

在Python中使用requests庫爬取數據時返回為空如何解決

import requests
r = requests.get("https://baike.so.com/doc/24368318-25185095.html")
r.status_code
r.text

結果分析,我們可以成功訪問到該網頁,但是得不到網頁的結果。被360搜索識別,我們將headers修改。

在Python中使用requests庫爬取數據時返回為空如何解決

輸出有個小插曲,網頁內容很多,我是想將前500個字符輸出,第一次格式錯了

import requests
headers = {
  'Cookie':'OCSSID=4df0bjva6j7ejussu8al3eqo03',
  'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
         '(KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}
r = requests.get("https://baike.so.com/doc/24368318-25185095.html", headers = headers)
r.status_code
r.text

接著我們對需要的內容進行爬取,用(.find)方法找到我們內容位置,用(.children)下行遍歷的方法對內容進行爬取,用(isinstance)方法對內容進行篩選:

import requests
from bs4 import BeautifulSoup
import bs4
headers = {
  'Cookie':'OCSSID=4df0bjva6j7ejussu8al3eqo03',
  'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
         '(KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}
r = requests.get("https://baike.so.com/doc/24368318-25185095.html", headers = headers)
r.status_code
r.encoding = r.apparent_encoding
soup = BeautifulSoup(r.text, "html.parser")
for tr in soup.find('tbody').children:
	if isinstance(tr, bs4.element.Tag):
		tds = tr('td')
		print([tds[0].string, tds[1].string, tds[2].string])

得到結果如下:

在Python中使用requests庫爬取數據時返回為空如何解決

修改輸出的數目,我們用Clist列表來存取所有城市的排名,將前20個輸出代碼如下:

import requests
from bs4 import BeautifulSoup
import bs4
Clist = list() #存所有城市的列表
headers = {
  'Cookie':'OCSSID=4df0bjva6j7ejussu8al3eqo03',
  'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
         '(KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}
r = requests.get("https://baike.so.com/doc/24368318-25185095.html", headers = headers)
r.encoding = r.apparent_encoding #將html的編碼解碼為utf-8格式
soup = BeautifulSoup(r.text, "html.parser") #重新排版
for tr in soup.find('tbody').children:   #將tbody標簽的子列全部讀取
	if isinstance(tr, bs4.element.Tag):  #篩選tb列表,將有內容的篩選出啦
	  tds = tr('td')
	  Clist.append([tds[0].string, tds[1].string, tds[2].string])
for i in range(21):
  print(Clist[i])

最終結果:

在Python中使用requests庫爬取數據時返回為空如何解決

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

向AI問一下細節

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

AI

曲松县| 柳河县| 阳泉市| 瑞安市| 三台县| 志丹县| 西林县| 阿鲁科尔沁旗| 环江| 吉首市| 西城区| 县级市| 太湖县| 迭部县| 漠河县| 荆门市| 湟中县| 台南县| 隆化县| 沂南县| 定安县| 蒙自县| 库车县| 宕昌县| 裕民县| 邛崃市| 瑞金市| 大兴区| 安西县| 西充县| 马鞍山市| 西盟| 清远市| 博爱县| 永和县| 佛坪县| 昆山市| 安岳县| 察哈| 庆安县| 绿春县|