2017-02-06 4 views
0

Я практикую сканирование с помощью python3.Jsessionid вмешивается в обход

Я просматриваю этот сайт.

http://www.keri.org/web/www/research_0201?p_p_id=EXT_BBS&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=1&_EXT_BBS_struts_action=%2Fext%2Fbbs%2Fview&_EXT_BBS_sCategory=&_EXT_BBS_sKeyType=&_EXT_BBS_sKeyword=&_EXT_BBS_curPage=1&_EXT_BBS_optKeyType1=&_EXT_BBS_optKeyType2=&_EXT_BBS_optKeyword1=&_EXT_BBS_optKeyword2=&_EXT_BBS_sLayoutId=0 

Я хочу получить адрес pdf из html-кода.

ех) В HTML, PDF вниз URL является

http://www.keri.org/web/www/research_0201?p_p_id=EXT_BBS&p_p_lifecycle=1&p_p_state=exclusive&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=1&_EXT_BBS_struts_action=%2Fext%2Fbbs%2Fget_file&_EXT_BBS_extFileId=5326 

Но моих результатов гусеничного

http://www.keri.org/web/www/research_0201**;jsessionid=3875698676A3025D8877C4EEBA67D6DF**p_p_id=EXT_BBS&p_p_lifecycle=1&p_p_state=exclusive&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=1&_EXT_BBS_struts_action=%2Fext%2Fbbs%2Fget_file&_EXT_BBS_extFileId=5306 

Я даже не могу скачать файл по указанному ниже адресу.

Откуда взялся jsessionid?

Я могу просто стереть его, но мне интересно, почему.

** Почему URL так долго? лол

ответ

1

Я испытал в своем коде, что jsessionid доза не влияет на загрузку файла:

import requests, bs4 

r = requests.get('http://www.keri.org/web/www/research_0201?p_p_id=EXT_BBS&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=1&_EXT_BBS_struts_action=%2Fext%2Fbbs%2Fview&_EXT_BBS_sCategory=&_EXT_BBS_sKeyType=&_EXT_BBS_sKeyword=&_EXT_BBS_curPage=1&_EXT_BBS_optKeyType1=&_EXT_BBS_optKeyType2=&_EXT_BBS_optKeyword1=&_EXT_BBS_optKeyword2=&_EXT_BBS_sLayoutId=0') 
soup = bs4.BeautifulSoup(r.text, 'lxml') 
down_links = [(a.get('href'), a.find_previous('a').text)for a in soup('a', class_="download")] 
for link, title in down_links: 
    filename = title + '.pdf' 
    r = requests.get(link, stream=True, headers=headers) 
    with open(filename, 'wb') as f: 
     for chunk in r.iter_content(chunk_size=1024): 
      f.write(chunk) 
+0

@ В самом деле? Я набрал URL-адрес загрузки. В моем веб-браузере напрямую. Тем не менее, я не смог скачать файл ... В любом случае, спасибо ~ !!! – StackQ

Смежные вопросы