PythonSpider项目
需求分析
在大数据时代,怎样通过爬虫快速并且有效的获取到某一个网页的信息。
概要设计
代码实现
一、导入相应模块
import requests import re import csv import time import random
二、获取网页信息,并解析
class DongManSpider:
#公共变量
def __init__(self):
self.url = " " #需要给出相应路径的网页
self.headers = {"User-Agent":" "}#需要获取目标地址中的User-Agent,有时候还需要加上Cookie。
#获取页面
def get_html(self,url):
#每生成一个网页,获取该网页的代码
html = requests.get(url, headers=self.headers).text
#返回参数
return html
#解析页面
def parse_html(self,html):
#编写正则表达式
regex = ''' ''' #正则表达式里放你需要爬取的信息
#构建正则对象
p = re.compile(regex, re.S)
#匹配
info = p.findall(html)
#返回参数
return info
三、保存输出
#保存页面
def save_html(self,info):
# 循环遍历出里面的元组
for i in info:
#构建一个空列表
L = []
#将数据清洗过后放入列表,再用strip()去掉多余的空格和换行
name= i[0].strip()
address= i[1].strip()
time= i[2].strip()
L.append(name)
L.append(address)
L.append(time)
#每遍历一个元组,就保存追加至domgman.csv文件中
f = open("dongman.csv", "a", encoding="utf-8-sig", newline="")
#将open对象构建成csv对象
w = csv.writer(f)
#将遍历的元组放进文件中
w.writerow(L)
如何正确的书写正则表达式
如何正确找到网页的User-Agent
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219025.html原文链接:https://javaforall.net
