Scrapy 抓取疑惑問題,未解決!!!

2021-08-13 08:55:31 字數 4154 閱讀 6053

版本python3.5 scrapy 1.4

抓取鏈家資料的時候,抓到一定資料量會卡住不前,不知道問題原因,在setting設定了一些引數,但是並沒有感覺到效果。我記得以前使用scrapy設定timeout的時候,是有效果的,不知道為啥這次不行,就是卡住不前,不會超時重試

老師說記錄詳細日誌,從日誌中找答案,我還沒有找到記錄詳細日誌的方法。

download_delay = 6

#設定時間間隔為1s,防止被禁

download_timeout = 10

#設定超時時間

retry_enabled = true

#設定開啟重試

retry_times = 3

#設定重試次數

未解決!!!

**重定向這個問題使我頭疼

陸家嘴投資大廈

上面這個是搜尋上海寫字樓的**,一般情況下搜尋乙個不存在的寫字樓,安居客會提示不存在。但是,當搜尋陸家嘴投資大廈的時候,不但不提示不存在,還會重定向到新的**:

重定向遇到的坑,不明白,我只是想單純的搜尋一下上海大廈誒

python 3.5

.4 (v3.5

.4:3f56838, aug 8

2017, 02:17:05) [msc v.1900

64 bit (amd64)] on

win32

or"license"

for more information.

>>> import requests

>>> a=requests.get('').text

traceback (most recent call last):

file "", line

1, in

file "c:\python3.5\lib\site-packages\requests\api.py", line

72, in

getreturn request('get', url, params=params, **kwargs)

file "c:\python3.5\lib\site-packages\requests\api.py", line

58, in request

return session.request(method=method, url=url, **kwargs)

file "c:\python3.5\lib\site-packages\requests\sessions.py", line

508, in request

resp = self.send(prep, **send_kwargs)

file "c:\python3.5\lib\site-packages\requests\sessions.py", line

640, in

send

history = [resp for resp in gen] if allow_redirects else

file "c:\python3.5\lib\site-packages\requests\sessions.py", line

640, in

history = [resp for resp in gen] if allow_redirects else

file "c:\python3.5\lib\site-packages\requests\sessions.py", line

140, in resolve_redirects

raise toomanyredirects('exceeded %s redirects.' % self.max_redirects, response=resp)

requests.exceptions.toomanyredirects: exceeded 30 redirects.

>>>

網上說可以禁止重定向,但是我禁止了之後什麼也得不到啊,我就是想用python 3.5的requests庫。。。

>>> a=requests.get('',allow_redirects=false).text

>>> a

'\r\n\r\n\r\n

\r\n

nginx

\r\n\r\n

\r\n'

>>>

未解決!!!

在記錄日誌的時候,出現了兩個小問題,

from scrapy.utils.log import configure_logging

configure_logging(install_root_handler=false)

一直沒有明白上面兩行**的含義,感覺存在和去掉沒有任何影響

logging.basicconfig(

filename='log.txt',

format='%(levelname)s: %(message)s',

level=logging.warning

)

另外上面的**,我一開始理解level不同,記錄的資訊不同,經過討論發現,上面的**記錄的是最基本的資訊,level的不同不會影響基本資訊的記錄,那麼level的作用是什麼呢?

import logging

logging.debug('this

is debug message')

logging.info('this

is info message')

logging.warning('this

is warning message')

螢幕上列印:

warning:root:this is warning message

日誌記錄的預設級別是warning,比warning級別低的都不會記錄,所以螢幕上不會列印debug和info資訊,這樣就可以解釋level問題了,其實level對最基礎的日誌沒有任何影響,level對logging.** 函式起作用。

header

header

r=requests.get(next_url,headers=

self

.header)

content=r.text

抓取資訊的時候,防止被禁,用了上述**,結果,很順利的出了bug

一直以為是r.text這個獲取的網頁原資訊不全,後來發現是**頭設定有問題,如果用第乙個header沒有問題,用第二個,get的url和相應的url不一樣,分析我認為是**裡面出現了android 6.0系統,這個會導致網頁重定向,所以自然抓取的資訊就不一致了

考慮到linux系統的優越性,故將scrapy遷移到cent os4.3系統上(沒辦法,只能用版本這麼低的)

[***]$ lsb_release

-alsb

version: :core-3

.0-amd64

:core-3

.0-ia32

:core-3

.0-noarch

:graphics-3

.0-amd64

:graphics-3

.0-ia32

:graphics-3

.0-noarch

distributor

id: centos

description: centos

release 4.3 (final)

release: 4.3

codename: final

使用pip install scrapy 安裝scrapy,發現卡到了安裝cryptography上,問題如下:

importerror: /lib64/tls/libc.so.6: version `glibc_2.14' not found

終於安裝成功,接下來繼續!

2017.12.19 15:56

scrapy 安裝成功了,但是卻無法執行,顯示floating point exception

實在是煩心,查詢應該是gcc、動態鏈結庫的問題,等我有時間有心情的時候再解決吧

未解決!

scrapy 網頁抓取時的定位問題

最近在做乙個簡單的靜態網頁內容抓取程式,在抓取過程中總是遇到定位不準確,資料返回值為空列表或者抓了一大堆非目標資訊的問題,讓我頭疼不已。思考之後,就想著做乙個簡單的歸納總結,以便以後抓取 時提高效率。1.鏈結命名方法 要做好準確網頁資料的定位,首先我認為要搞明白網頁資料位置的命名方法。這邊以中關村的...

未解決問題備份

1.對於重複類的問題依然不太明確 記得當時上課的時候說過一些,但是不太記得了,是否是這樣?如下 當我們有兩個不同的jar包 test 1.0.jar test 2.0.jar,而這兩個jar包定義了相同的全限定類,並且兩個jar同時存在與classpath時,jvm在使用哪個jar包的同名類上是不確...

C 指標未解決問題

考慮以下 c code unsafe size is value is uint pb,sizeof byte b console.writeline address of d is 0x,size is value is uint pd,sizeof double d console.writel...