python调用IE爬取网页

python爬网页最基本的方法,大概就是用urlopen+beautifulsoup了。不过对于有些网站需要模拟浏览器访问,有些麻烦。直接调用浏览器看起来比较笨,但其实是最接近人工的一种方式。该方法在配置上需要安装python的win32com包。


源代码如下

import time
from win32com.client import DispatchEx
for i in range(87):
    ie = DispatchEx('InternetExplorer.Application')
    #如果需要IE窗口可见,设置为1
    ie.Visible = 0
    url = 'http:///thread0806.php?fid=7&search=&page=' + str(i+1)
    ie.Navigate(url)
    time.sleep(5)
    document = ie.Document
    #调取网页内容,这步之后也可以调用bs4进行操作
    content = document.documentElement.innerHTML
    index = content.find('XX'.decode('UTF-8'))
    if index <> -1:
        print 'find', content[index:index+20]
    ie.Quit()


你可能感兴趣的:(python,爬虫)