跟著鬼哥學爬蟲 2 糗事百科

2021-07-23 05:28:08 字數 2497 閱讀 4663

bs4中最重要的就是資料的分類,解析,獲取過程。

即:response = urllib2.urlopen(res)

html = response.read()

soup = beautifulsoup(html, "lxml")

somedata = soup.select("div.content span")

這裡的soup.select括號中的資料,是非常重要的。

如下圖,我們如何定位select中的標籤:

通過紅線標記的地方,我們可以直接看到這裡的div 的標籤的資料,就是上面每一條段子的資料內容,所以,

我們先寫一條

somedata = soup.select("div.content")

進行一下測試:

不截圖了,直接複製文字:

suz@suz9527:~/pytools$ ipython

python 2.7.6 (default, jun 22 2015, 17:58:13) 

ipython 5.1.0 -- an enhanced interactive python.

?         -> introduction and overview of ipython's features.

%quickref -> quick reference.

help      -> python's own help system.

object?   -> details about 'object', use 'object??' for extra details.

in [1]: from bs4 import beautifulsoup

in [2]: import urllib2

in [3]: url = ''

in [4]: heads =

in [5]: res = urllib2.request(url, headers=heads)

in [6]: response = urllib2.urlopen(res)

in [7]: html = response.read()

...: 

in [8]: soup = beautifulsoup(html, "lxml")

in [9]:

response = urllib2.urlopen(res)

html = response.read()

soup = beautifulsoup(html, "lxml")

somedata = soup.select("div.content span")

[\nin [10]: print somedata

我們可以看到結果中

[\n有這麼一行span屬性,所以我們修改一下上面的select為:

somedata = soup.select("div.content span")

檢視剛才的輸出結果:

in [11]: somedata = soup.select("div.content span")

in [12]: print somedata

這裡的somedata其實是個list,所以我們寫個for迴圈輸出一下可以看到:

好了,說明我們的想要得到的結果已經正常顯示出來了。

# -*- coding: utf-8 -*-

from bs4 import beautifulsoup

import urllib2

def getcontent(n):

url = '' + str(n) + '/'

#url = ''+str(n)+'/'

print url

heads =

res = urllib2.request(url, headers=heads)

response = urllib2.urlopen(res)

html = response.read()

soup = beautifulsoup(html, "lxml")

somedata = soup.select("div.content span")

num = 0

for some in somedata:

num = num + 1

print num

print some.text + '\n'

if __name__ == "__main__":

for i in range(1, 5):

getcontent(i)

最終效果圖:

爬蟲 糗事百科爬蟲

糗事百科爬蟲 寫這個爬蟲花了我相當相當多的時間,因為總是爬著爬著就看這糗事百科上的段子去了。環境 python 3.6 import csvimport json import random import requests from bs4 import beautifulsoup class qi...

跟著鬼哥學爬蟲 1

好久沒公開過破解的文章了,手上的東西都不太方便公開,所以寫一點程式設計方面的文章。工作需求,最近在爬一些資料,下面主要介紹一下採用的beartiful soup,這個python下的乙個很方便用作爬蟲的解析器。老規矩,簡單介紹一下初始化使用,然後開始用乙個個案例才熟悉它的用法。0x01 簡介 bea...

爬蟲實戰 糗事百科

閒來無聊,在網上按照教程寫了乙個python爬蟲,就是竊取資料然後儲存下來爬蟲實戰 糗事百科。從糗百上爬取段子,然後輸出到console,我改了一下儲存到了資料庫。不扯沒用的,直接上 這是爬取得部分 usr bin python coding utf 8 import urllib import u...