爬蟲獲取pubmed中文獻的標題和摘要

2021-10-06 18:22:50 字數 2497 閱讀 5806

使用編輯器是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...