python - 爬虫:搜索结果要等待几秒之后才能出现,怎么爬取结果出现后的页面?
高洛峰
高洛峰 2017-04-18 09:47:05
0
3
586
#coding=utf-8
import sys
import requests
reload(sys)
sys.setdefaultencoding('utf-8')
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36',
         'Accept-Language':'zh-CN,zh;q=0.8',
         'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
         'Referer':'http://www.itaotm.com/search.php?seat=%E7%94%B3%E8%AF%B7%E4%BA%BA&searchKey=%E5%8C%97%E4%BA%AC',
         'Upgrade-Insecure-Requests':'1'}
         
session=requests.session()

def get_detailpage():
    url='http://www.itaotm.com/search!page.php?pageNo=1&l=20161019113636&gjfls=1%3B2%3B3%3B4%3B5%3B6%3B7%3B8%3B9%3B10%3B11%3B12%3B13%3B14%3B15%3B16%3B17%3B18%3B19%3B20%3B21%3B22%3B23%3B24%3B25%3B26%3B27%3B28%3B29%3B30%3B31%3B32%3B33%3B34&gjfl=0&seat=%E7%94%B3%E8%AF%B7%E4%BA%BA&searchKey=%E5%8C%97%E4%BA%AC'
    data={'pageNo':'1','l':'20161019113636','gjfls':'1%3B2%3B3%3B4%3B5%3B6%3B7%3B8%3B9%3B10%3B11%3B12%3B13%3B14%3B15%3B16%3B17%3B18%3B19%3B20%3B21%3B22%3B23%3B24%3B25%3B26%3B27%3B28%3B29%3B30%3B31%3B32%3B33%3B34',
          'gjfl':'0','seat':'%E7%94%B3%E8%AF%B7%E4%BA%BA','searchKey':'%E5%8C%97%E4%BA%AC'}
    html=session.get(url=url,headers=headers,params=data)
    print html.text

get_detailpage()

在填好搜索条件后,点击查询,页面上会显示要几秒后才能出结果,然后直接出现结果的页面。
爬取的网址是最后出现结果的网址,但爬取到的内容会出现:

<p class="cls"></p>
<p class="mainBox">
          <p class="jump">
          数据量巨大,正在努力查询中.... 预计<span id="jumpTo">5</span>秒后出结果  
        </p> 
        <p class="cls"></p>
</p> 

并不是想要的最终结果,怎么才能爬取到正确结果呢?不用selenium的话

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(3)
Peter_Zhu

패킷 캡처 및 분석만

쉽게, 최종 데이터가 어떻게 얻어지는지 브라우저 개발 도구의 네트워크 연결 데이터를 살펴보세요~

洪涛

패킷을 캡쳐해 보면 해당 URL이 실제로 두 번 방문한 것을 알 수 있는데, 처음 반환된 웹페이지에 점프하기 위한 js 코드가 있는 것으로 추측됩니다

Ty80

phatomjs 사용

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿