使用scrapy框架進行爬蟲需要注意的

2021-08-22 12:59:40 字數 2514 閱讀 5616

1.start_urls 內的**要補充完整

2.在獲取資料時,如果我們想要先獲取先獲取某一整塊內容,然後再從此內容中獲取單個零碎資訊

比如

def parse(self, response):

ul_list = response.xpath('//ul[@class="post small-post"]') #一小整塊

print(ul_list)

for ul in ul_list:

title = ul.xpath('.//div[@class="cover"]/@cover-text').extract() #取出整塊內的區域性

那麼需要注意: xpath物件獲取的內容 都是乙個列表, 返回的內容為 scrapy.selector

如果型別為scrapy.selector 那麼這個物件可以被繼續迭代, 也可以被xpath繼續尋找裡面的內容

如果上面獲取的ul_list 後面加上extract() 那麼下面的xpath將不能用

3.scrapy crawl meikong -o meikong.xml

meikong是美空拼音,檔名

將檔案儲存為指定型別 支援四種資料型別

4.valueerror:missing scheme in request url:h

相關url必須是乙個list,所以遇到該錯誤只需要將url轉換成list即可

5.在進行多頁操作的時候

將url傳給scrapy.request 得到的結果繼續用self.parse進行處理

if len(next_url) !=0:

#print(next_url)

url = '' + next_url[0]

#將url傳給scrapy.request 得到的結果繼續用self.parse進行處理

yield scrapy.request(url=url,callback=self.parse)

callback 後面跟的是 要把資訊傳遞給誰

很多時候在傳遞url時 都是需要拼接的  注意url的形式 ,如 / ,避免出現錯誤

'scrapt.pipelines.images.imagespipeline':1
7.將文字轉為json格式時

jsondata = json.loads(response.text)
#需要引入items 設定字段

item = ***xitem()

item['img_url'] = [img_url]

item[name] = name

需要往items.py裡面新增對應內容

img_url = scrapy.field()

name = scrapy.field()

9.獲取資訊時 需要去掉第一條資料時 用到  del  type_list[0]  遇到具體情況隨機應變

10.關於獲取全部文字的方式,詳細見上次部落格內容

if len(author)  !=0:

# 獲取標籤內部全部文字的幾種方式

# 1.獲取最外層標籤,遍歷內部所有的子標籤,獲取標籤文字

# 2.正則去掉所有標籤,re.compile.sub()

# 3./text() 獲取標籤的文字 //text() 獲取標籤以及子標籤的文字

content_list = div.xpath('.//div[@class="d_post_content j_d_post_content "]//text()').extract()

# 4 使用xpath('string(.)'),這種方式來獲取所有文字並拼接

content = div.xpath('.//div[@class="d_post_content j_d_post_content "]').xpath('string(.)').extract()[0]+'\n'

self.f.write(content)

print(content_list)

remove = re.compile('\s')

douhao = re.compile(',')

content = ''

for string in content_list:

string = re.sub(remove,'',string)

string = re.sub(douhao,'',string)

# print(string)

content +=string+','

print(content)

11.

yield scrapy.request(url=url,meta=,callback=self.get_content_with_url)

#把url 和 meta的值傳到另個函式中

def get_content_with_url(self,response):

利用scrapy框架進行爬蟲

1.安裝2.用scrapy爬蟲四步走 第一步 編寫items.py 第二步 編寫spiders下的 py 檔案 第三步 編寫pipelines.py檔案 第四步 開啟settings.py 檔案更改配置 3.基於scrapy爬蟲框架,只需在命令列中輸入 scrapy startproject 命令,...

scrapy爬蟲框架

作者經過幾周的python爬蟲實踐之後,深入學習了一下scrapy這個爬蟲框架,現將一些基本知識和 總結整理一下,以備後查。2.scrapy的命令列使用 這部分網上很多部落格都有總結,不需要背,理解會用主要的命令 startproject crawl fetch list genspider.即可,...

scrapy 爬蟲框架

1.安裝 公升級pip版本 pip install upgrade pip 通過pip安裝scrapy框架 pip install scrapy 安裝成功 只執行scrapy 進行測試是否安裝成功 2.scrapy startproject 爬蟲專案名稱 執行此命令,可以生成乙個爬蟲專案 會預先生成...