python3爬取CSDN個人所有文章列表頁

2022-09-18 12:03:12 字數 2115 閱讀 2465

沒什麼技術含量就是簡單的xpath處理,不過有意思的是有一位csdn員工將自己的部落格位址寫到原始碼裡面了,是乙個隱藏的div, 不過在**中我已經給過濾掉了。

優化了響應時長,畢竟需要分頁爬去,如果不用多執行緒響應時間必然會隨著文章分頁的增多而增多。

**實現

import requests

from lxml import etree

import re

import threading

import operator

defget_page

(url)

: response = requests.get(url)

all_page =

int(re.findall(

'var listtotal = (.*?) ;'

,response.text)[0

])//20+1

return all_page

defparse_article

(url,article_list)

: response = requests.get(url)

.text

x = etree.html(response)

x= x.xpath(

'//div[(@class="article-item-box csdn-tracking-statistics")][not(@style="display: none;")]'

)# article_list =

for item in x:

title = item.xpath(

'h4/a/text()')[

1].strip(

) url = item.xpath(

'h4/a/@href')[

0]pubdata = item.xpath(

'div[@class="info-box d-flex align-content-center"]/p/span[@class="date"]/text()')[

0]pageviews = item.xpath(

'div[@class="info-box d-flex align-content-center"]/p[3]/span/span/text()')[

0]comments = item.xpath(

'div[@class="info-box d-flex align-content-center"]/p[5]/span/span/text()')[

0]article =

dict

( title = title,

url = url,

pubdata = pubdata,

pageviews = pageviews,

comments = comments

)# print(article_list)

defmain

(url)

: main_url = url

all_page = get_page(url)

thread_list =

data =

for page in

range(1

,all_page+1)

: url = main_url +

'/article/list/'

+str

(page)

t = threading.thread(target=parse_article,args=

(url,data)

) t.start(

)for t in thread_list:

t.join(

) data.sort(key=operator.itemgetter(

'pubdata'))

print

(data,

len(data)

)if __name__ ==

'__main__'

: url =

''main(url)

python3爬取CSDN個人所有文章列表頁

沒什麼技術含量就是簡單的xpath處理,不過有意思的是有一位csdn員工將自己的部落格位址寫到原始碼裡面了,是乙個隱藏的div,不過在 中我已經給過濾掉了。優化了響應時長,畢竟需要分頁爬去,如果不用多執行緒響應時間必然會隨著文章分頁的增多而增多。實現 import requests from lxm...

python3爬取電影資料

爬取電影票房資料,用於統計建模分析。目標 為電影票房資料庫 基本的爬取靜態 的技術,模擬登陸使用的是最簡單的cookies。這種模擬登陸的方式雖然簡單但有很大的侷限性,時效性比較短,也許兩三天後就失效了,或者網頁改版一點也會導致失效。最好的方式還是找到登陸頁面,獲取需要提交的資料和提交方式,模擬我們...

python3 小說爬取案例

爬取 具體書籍 res requests.get url,headers header 爬取網頁 web res.text 獲得網頁文字格式 正則匹配方法 匹配除了空格和換行之外的字元 s s 上面的匹配方法無效的時候用這個匹配全部的字元,再用上面的方法進行匹配。具體應用舉例 pattern4 re...