版本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...