用python寫一個簡單的爬蟲,爬取360搜索上的關於女友的聯想搜索,比如鍵入”蒼老師“,360搜索會給出什麼推薦的關鍵搜索:
#coding:utf-8
import urllib
import urllib2
import re
import time
wordList=["蒼老師","波多野結衣","吉澤明步"]#對多個女優爬取
for i in wordList:
gjc=urllib.quote(i)#生成搜索關鍵字的編碼
url="http://sug.so.360.cn/suggest?callback=suggest_so&encodein=utf-8&encodeout=utf-8&format=json&fields=word,obdata&word="+gjc#360關聯搜索的url,通過chrome的按F12獲得
headers={#將一些頭部加入到請求中去,讓360服務器認爲請求來自瀏覽器人工鍵入
"GET":url,
"Refer":"http://www.so.com/",
"Host":"sug.so.360.cn",
"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36"
}
req=urllib2.Request(url)#創建請求
for item in headers:
req.add_header(item,headers[item])#將僞造的頭部加入到請求中
html=urllib2.urlopen(req).read()
obj=re.findall('(?<=")(蒼老師.*?|波多野結衣.*?|吉澤明步.*?)(?=")',html)#查找聯想的搜索
for key in obj:
print key
time.sleep(1)
程序輸出:
蒼老師
蒼老師電影全集
蒼老師無馬賽克圖片
蒼老師的種子
蒼老師圖片
蒼老師的電影
蒼老師的職業生涯
蒼老師是誰
蒼老師的作品
蒼老師的職業生涯小說
蒼老師番號
波多野結衣
波多野結衣歡迎來到我的世界種子快播
波多野結衣 歡迎來到我的世界種子
波多野結衣結婚
波多野結衣結婚沒
吉澤明步