Dan*_*Dan 18 python get web-crawler
所以我的兄弟想让我用Python写一个网络爬虫(自学成才),我知道C++,Java和一些HTML.我使用的是2.7版本,并阅读Python库,但我有几个问题1. httplib.HTTPConnection和request概念对我来说是新的,如果它下载如cookie或实例的HTML脚本,我不明白.如果您同时执行这两项操作,您是否获得了网站页面的来源?我需要知道修改页面并返回修改后的页面的一些单词.
仅仅为了背景,我需要下载一个页面并用我拥有的img替换任何img
如果你们能告诉我你对2.7和3.1的看法,那就太好了
leo*_*luk 43
使用Python 2.7,目前有更多的第三方库.(编辑:见下文).
我建议你使用stdlib模块urllib2,它可以让你轻松获得网络资源.例:
import urllib2
response = urllib2.urlopen("http://google.de")
page_source = response.read()
Run Code Online (Sandbox Code Playgroud)
要解析代码,请查看BeautifulSoup.
顺便说一下:你究竟想做什么:
仅仅为了背景,我需要下载一个页面并用我拥有的img替换任何img
编辑:现在是2014年,大多数重要的库已被移植,如果可以,你绝对应该使用Python 3.python-requests是一个非常好的高级库,比它更容易使用urllib2.
@leoluk提到的示例python3和requests库以及:
pip install requests
Run Code Online (Sandbox Code Playgroud)
脚本req.py:
import requests
url='http://localhost'
# in case you need a session
cd = { 'sessionid': '123..'}
r = requests.get(url, cookies=cd)
# or without a session: r = requests.get(url)
r.content
Run Code Online (Sandbox Code Playgroud)
现在,执行它,你将获得localhost的html源代码!
python3 req.py
如果你使用的话Python > 3.x不需要安装任何库,这是直接内置在python框架中的。旧urllib2包已重命名为urllib:
from urllib import request
response = request.urlopen("https://www.google.com")
# set the correct charset below
page_source = response.read().decode('utf-8')
print(page_source)
Run Code Online (Sandbox Code Playgroud)