scrapy框架爬取網頁時
查看網頁時查看網絡,如果是post數據 就不能直接get
import scrapy,json
class XXXSpider(scrapy.Spider):
name = 'xxx'
allowed_domains = ['域名']
base_url = 'http://www.XXX.com'
def start_requests(self):
# 這是網絡post請求裏的網址
url = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'
# 給一個空列表
results = []
# 給一個有限的要爬取的頁數
for x in range(1,3):
request = scrapy.FormRequest(
url=url,
# 拿到參數裏的表單數據 其中表示有頁數的value值設置爲str(x)
formdata={
'key1' = 'value1',
'key2' = 'value2',
'key3' = 'value3',
'page' = str(x)
}
# 帶上請求頭 一般有。。。
headers={
'User-Agent' = 'value',
'Referer' = 'value',
'Cookie' = 'value',
'xxx' = 'xxxx'
}
)
results.append(request)
return results
def parse(self, response):
json_dict = json.loads(response.text)
# 然後可以拿數據了
# 字典取關鍵值json_dict['']['']['']