python寫爬蟲的彎路

2021-09-10 04:33:10 字數 2260 閱讀 9083

from bs4 import beautifulsoup

import requests

import re

reponse = requests.get(url)

reponse.encoding = 'gbk'

html = reponse.text

這是網頁的部分**

第一章 你心裡沒點數嗎

第二章 原來是一場精心設計

第三章 你去死啊

第四章 能不能找他借錢

第五章 你一點都不心痛嗎

第六章 在監獄裡度過後半生

第七章 我爸媽只生了我乙個

第八章 一團迷霧

結果返回了空列表. 又試了幾種正則表示,還是錯誤的. 檢查了好久也查不出原因.

最後直接開啟瀏覽器, 在**首頁檢視源**, 複製了href鏈結到搜尋欄裡, 出現了 404 !

又回到源**, 仔細看一下發現href裡只有http--3004/有藍色標記,後面的139.....沒有, 於是只複製了前面的http--3004/, 沒想到竟然跳轉到了**章節內容.

於是又複製了一遍href裡的鏈結,發現在瀏覽器搜尋框裡出現了乙個'\n'換行符,把它去點後也可以 正常訪問. 看來就是這個'\n'符就是萬惡之源了.

修改**: dl = re.findall(r'(.*?)

可是還是有問題, 就是在返回的列表裡面,鏈結還是有\n. 

乾脆就把所有的換行符都換掉好了: html = html.replace('\n','')

至此,問題解決了

**:  

1 from bs4 import beautifulsoup

2 import requests

3 import re

4 url = ''

5 reponse = requests.get(url)

6 reponse.encoding = 'gbk'

7 '''soup = beautifulsoup(reponse.text, 'lxml')

8 chapter = soup.select('ul._chapter > li > a')

9 temp= #鏈結

10 temp2= #章節標題'''

11 12 '''

13 #用字典

14 for c in chapter:

17 print(temp2)'''

18 '''f = open('遮天.txt','w')

19 for i in temp:

20 f.write(str(i))

21 f.write('\n')

22 print('ok')

23 f.close()'''

24 '''f = open('遮天.txt','w')

25 for c in chapter:

26 data=

30 for i in data.values():

31 f.write(i[1])

32 print('ok')

33 exit()

34 35 tml = reponse.text

36 html = html.replace('\n','')

37 dl = re.findall(r'(.*?)

38 #print((chapter_info_list))

39 for i in dl:

40 m,n=i

41 m="\n%s" % m

42 print(m,n)

43 '''

44

45 46 html = reponse.text

47 html = html.replace('\n','')

48 dl = re.findall(r'(.*?)

49 for i in dl:

50 m,n=i

51 m="%s" % m #將鏈結前面的東西加到m上, + 的方式效率低,採用佔位符%s代替.

52 print(m,n)

結果:

python寫網路爬蟲

注 本文旨在練習正規表示式的簡單使用方法 usr bin evn python coding cp936 def gethtml url 定義gethtml 函式,用來獲取頁面源 page urllib.urlopen url urlopen 根據url來獲取頁面源 html page.read 從...

python做爬蟲難嗎 python寫爬蟲難嗎

所謂網路爬蟲,通俗的講,就是通過向我們需要的url發出http請求,獲取該url對應的http報文主體內容,之後提取該報文主體中我們所需要的資訊。下面是乙個簡單的爬蟲程式 http基本知識 當我們通過瀏覽器訪問指定的url時,需要遵守http協議。本節將介紹一些關於http的基礎知識。http基本流...

python寫簡單的爬蟲 Lxml

from pprint import pprint from lxml.html import fromstring,tostring broken html tree fromstring broken html fromstring 方法可以將html 轉換為class型別 fixed html...