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()