案例代码:
import requests
from lxml import etree
import json
class BtcSpider(object):
def __init__(self):
self.base_url = 'https://www.chainnode.com/forum/61-'
self.headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
}
self.data_list = []
# 1.发送请求
def get_response(self, url):
response = requests.get(url,headers=self.headers)
# 需要看一下抓取网页的编码格式 解码的时候需要使用对应的编码格式
data = response.content.decode('utf-8')
return data
# 2.解析数据
def pase_data(self, data):
# 使用xpath解析当前页面所有的title和url保存
# 2.1 转类型
x_data = etree.HTML(data)
# 2.2 根据xpath路径开始解析 跨节点取所有a标签
# link-dark-major font-bold bbt-block
# link-dark-major font-bold bbt-block
title_list = x_data.xpath('//a[@