python爬虫抓取信息-urllib
程序员文章站
2022-05-04 11:49:38
...
自己晚上写的 本来抓取的是汇率 没写完 唉 路还长 继续走
import requests
import urllib.request
import urllib.request
import re
import datetime
def get_headers():
'''定义请求头 换着请求头进行爬取'''
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36',
}
return headers
def get_ip():
'''代理ip 换着地址进行爬取信息'''
pass
def grab_info():
'''抓取地址'''
url = 'http://fx.cmbchina.com/hq/'
return url
def get_url_address(url):
'''处理请求地址,或者翻页
返回的信息可以是json数据
使用代理ip时要跟换方法使用 可以提前写好
'''
headers = get_headers()
request = urllib.request.Request(url, headers=headers)
return request
proxy_handler = urllib.request.ProxyHandler({'http': '120.32.208.16:8118'})
opener = urllib.request.build_opener(proxy_handler)
def get_html(request):
'''进行响应,获取数据'''
repsonse = urllib.request.urlopen(request)
html = repsonse.read().decode('utf-8')
return html
def handle_data(html):
'''利用xpath re 进行解析'''
need_data = dict()
print(html)
def need_info():
'''存储数据 可以存入表格等 重新调取数据'''
pass
def main():
'''主程序 可以设置死循环 来进行不断抓取数据'''
url = grab_info()
request = get_url_address(url=url)
html = get_html(request =request)
handle_data(html = html)
if __name__ == '__main__':
start_time = datetime.datetime.now()
main()
end_time = datetime.datetime.now()
print('爬取时间{time}'.format(time = end_time-start_time))
上一篇: Pthon 网络爬虫 xiaohua