網路段子爬蟲程式加強版 Scrapy框架

2021-09-22 18:53:30 字數 1652 閱讀 9601

**太多,有近100行**,還有複雜的正規表示式。

光是構造正規表示式就已經讓人抓狂了。

1.不用構造複雜的正規表示式。

2.爬取效率更高。

3.**邏輯更優更簡潔。

[email protected]:cuanboy/scrapytest.git
本文參考了以下資料

urllib2庫的基本使用

傳智播客黑馬社群

scrapy菜鳥教程

"""語言版本:

python:3.7

scrapy:1.6

功能:不使用正規表示式,改用scrapy爬取段子.

"""import scrapy

class duanzispider(scrapy.spider):

name = "duanspider"

allowed_domains = ["duanziwang.com"]

start_urls = ['經典段子/']

def parse(self, response):

duanzi_list = response.css('article') # 提取首頁所有笑話,儲存至變數duanzi_list

for viv in duanzi_list: # 迴圈獲取每一條笑話裡面的:標題、內容

title = viv.css('.post-title a::text').extract_first() # 提取笑話標題

contents = viv.css('.post-content p::text').extract() # 提取笑話內容

text = ''.join(contents)

# text = text.encode('utf-8','ignore')

# text = text.encode('gb2312','ignore')

"""接下來進行寫檔案操作,儲存在乙個txt文件裡面

"""f = open(file_name, "a+", encoding='utf-8') # 「a+」以追加的形式

f.write('\n') # 『\n』 表示換行

f.write(str(text))

f.write('\n-------\n')

f.close()

# print("!!!!!!the page is:" + str(next_page))

"""相對路徑如:/page/1

urljoin能把相對路徑替我們轉換為絕對路徑,也就是加上檔案開頭設定的網域名稱

最終next_page為:http://host/page/2/

網路段子爬蟲程式

本文參考了以下資料 urllib2庫的基本使用 傳智播客黑馬社群 urllib2庫的基本使用 所謂網頁抓取,就是把url位址中指定的網路資源從網路流中讀取出來,儲存到本地。在python中,我們使用urllib2這個元件來抓取網頁。urllib2 官方文件 urllib2 原始碼 時間花在學習正規表...

爬蟲 內涵段子

import urllib2 import urllib import re class spilder def init self self.page 1 初始頁是1 self.switch true 如果是true就開始爬 def loadpage self url str self.page ...

6 內涵段子 爬蟲

內涵段子爬蟲實戰 要求 能爬取一頁資料即可 proxyhandler處理器 設定 很多 會檢測某一段時間某個ip的訪問次數 通過流量統計,系統日誌等 如果訪問次數多的不像正常人的訪問,它會禁止這個ip的訪問。所以我們可以設定一些 伺服器,每隔一段時間換乙個 就算ip被禁止,依然可以換個ip繼續爬取。...