目前正在学习python爬虫,在网上找了一些很基础的课程,在这里做点笔记分享。
需要的模块有:
from urllib import request
import re #正则表达试
import random
from urllib import request
老师说这里可以写成:import urllib.request
,不过我在使用后者写法的时候调用:request.Request()
会显示NameError: name ‘request’ is not defined,我研究了半天是一脸的懵,后来没法只能换成第一种写法才没有报错!我怀疑是我的电脑配置问题。
爬虫机制分为两个部分:请求和响应
在发起请求前需要做两件事情:
ur1=r"http://www.baidu.com/"#要爬的的网址
#反爬虫机制:判断用户是否是浏览器访问。可以通过伪装浏览器进行访问
#伪装浏览器User-Agent,然后随机选择User-Agent访问,避免触碰反爬虫机制手段之一
agent1="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"
agent2="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.7 (KHTML, like Gecko) Chrome/20.0.1099.0 Safari/536.7 QQBrowser/6.14.15493.201"
agent3="Opera/9.80 (Windo