使用編輯器是python,所編寫的爬蟲主要使用requests模組+正規表示式。使用requests.get()來獲取請求,使用re模組中re.compile(正規表示式).findall(請求)來獲取標題和摘要。**中對瀏覽器進行了偽裝,但是就只用了2個瀏覽器。
import requests
import re
key=
input
("請輸入你想查詢的資訊:"
)local_url=
input
("請輸入你想儲存的位置及名稱:"
)turl=
""tdata=requests.get(turl,params=
).text
pat_allpage=
'(.*?)'
allpage=re.
compile
(pat_allpage,re.s)
.findall(tdata)
num=
input
("請輸入大致想獲取的文章數目(總數為"
+str
(int
(allpage[0]
.replace(
'\n ',''
).replace(
',','')
)*10)
+"):"
)for j in
range(0
,int
(num)
//10+1
):url=
""+"?term="
+key+
"&page="
+str
(j+1
) data=requests.get(url,params=
).text
pat1_content_url=
'.*?<.>
content_url=re.
compile
(pat1_content_url,re.s)
.findall(data)
hd=for i in
range(0
,len
(content_url)):
curl=
""+content_url[i]
try:
cdata=requests.get(curl,headers=hd)
.text
pat2_title=
"(.*?)"
pat3_content=
'(.*?)
' pat4_date=
'(.*?)'
title=re.
compile
(pat2_title,re.s)
.findall(cdata)
print
("正則爬取的題目是:"
+title[0]
) content=re.
compile
(pat3_content,re.s)
.findall(cdata)
date=re.
compile
(pat4_date,re.s)
.findall(cdata)
fh=open
(local_url+
".html"
,"a"
,encoding=
"utf-8"
) fh.write(
str(title[0]
)+' ----'
+str
(date[0]
)+""
+str
(content[0]
)+""
) fh.close
except exception as err:
pass
ifint
(num)
<10:
if i+1==
int(num)
:break
elif
int(num)
==10
:if i ==9:
break
elif
(j*10
)+i+1==
int(num)
:break
將上述**儲存為.py格式,進入終端執行**:
python 檔名.py
遇著的問題:
1.在執行程式時會出現錯誤,再次執行錯誤就會消失;(可能是網路問題,也有可能是訪問太多次被拒,過段時間再執行即可)
2.速度有點慢;(可能是網慢,導致請求返回的比較慢)
未來進行改進的地方:
剛開始研究爬蟲,有什麼建議,歡迎提出來!有不懂的,一起**!
java獲取中文的拼音以及獲取中文拼音的首字母
首先在pom檔案中引入依賴 pinyin4j com.belerwebgroupid pinyin4jartifactid 2.5.0version dependency dependencies 獲取中文的拼音 test public void testpinyin throws badhanyu...
中文參考文獻的一些內容
begin book publisher year author series address isbn book publisher year author address isbn language key end documentclass usepackage usepackage bibl...
js 獲取中文的拼音
傳送門 提取拼音,返回首字母大寫形式 getfullchars function str else return result 提取首字母,返回大寫形式 getcamelchars function str 處理arrresult,返回所有可能的拼音首字母串陣列 return this getres...