初學爬蟲(一)

2022-06-24 13:30:15 字數 1528 閱讀 5116

1. 前言

之前實現python的網路爬蟲, 主要都是使用較為底層的urllib, urllib2 實現的, 這種實現方案顯得比較原始, 編碼起來也比較費勁, 尤其是提取資訊的時候, 還得使用正則表達是匹配 (之前**的一篇糗事百科的爬蟲文章, 我們這裡採用requests + beautifulsoup 的實現方案, 使用 css 選擇器, 簡化**的書寫。  

2. 基本資料

當然在使用這兩個模組之前, 需要對這兩個模組做一些介紹:

requests 主要是乙個封裝好了http功能的庫, 可以實現基本的http操作

beautifulsoup 主要提供了對html, xml網頁的乙個完美的解析方式, 實際上, 他將html中的tag 作為樹節點進行解析, 於是, 我們可以將乙個html頁面看成是一顆樹結構。

requests 官方文件:

beautifulsoup 官方文件:

3. 實現**

**比較簡潔, 就不多說了, 下面的**中, 我們分別爬取兩個**, 糗事百科 。

1

#-*- coding=utf8 -*-23

import

requests

4from bs4 import

beautifulsoup56

defqiushibaike():

7 content = requests.get('

').content

8 soup = beautifulsoup(content, '

html.parser')

910for div in soup.find_all('

div', ):

11print

div.text.strip()

1213

defustcjob():

14 headers =

15 content = requests.get('

', headers =headers).content

16 soup = beautifulsoup(content, '

html.parser')

1718

for jop in soup.find_all('

div', ):

19for item in jop.find_all('li'

):20

print

"%-30s%-20s%-40s

" %(item.a.text.strip() , item.span.text.strip() , item.span.next_sibling.text.strip())

2122

23if

__name__ == '

__main__':

24#qiushibaike()

25 ustcjob()

四.實現效果

初學python爬蟲

上 之前先說下這個簡易爬蟲框架的思路 排程器 爬蟲的入口 知道沒有url或爬蟲終端,輸出結果 上 1,排程器 from myspider import urls manager,html html paser,html outer class legendspider object def init...

python爬蟲初學

0x01環境搭建 import os import requests from lxml import etree from urllib.parse import urljoin import urllib pip installl 包名字0x02介紹這裡寫了乙個爬 的爬蟲指令碼 如果不能解決就手...

爬蟲初學1

import urllib.request import re import chardet 開啟網頁,讀取網頁,網頁解碼 page urllib.request.urlopen 開啟網頁 htmlcode page.read 獲取網頁源 print chardet.detect htmlcode ...