python网络爬虫基本的操作

学习了一下python网络爬虫以下是我做的实例

获取某个网页显示的QQ的qq号

在其中要注意它的编码格式如果出现了中文建议使用
gbk格式及在文件上添加
#coding=gbk

#coding=gbk
'''
Created on 2019年7月12日

@author: lenovo
'''

import urllib.request
data=urllib.request.urlopen("https://www.csdn.net").read()
print(data)

#自动提取课程页面的QQ群
import urllib.request
import re
data=urllib.request.urlopen("https://edu.csdn.net/huiyiCourse/detail/253").read().decode("utf-8")
pat="

(\d*?)

"
result=re.compile(pat).findall(data) print(result)

python网络爬虫基本的操作_第1张图片

网页提取div中class为name的所有数据并添加到txt文档中

先是将通过url将数据读取出来在将添加正则表达式
如果不懂正则表达式 参考我的另一篇博客
https://blog.csdn.net/qq_41311396/article/details/95996958

import urllib.request
import re
data=urllib.request.urlopen("https://read.douban.com/provider/all").read().decode("utf-8")
pat='
(\w*?)
'
result=re.compile(pat).findall(data) print(result) file=open('F:\Test1\Input.txt','a+') for i in result: file.write("\n"+i) file.close()

查看网页的url信息

info()看相应的简介
getcode()判断状态码
geturl()返回当前网页的url

#coding=gbk
import urllib.request
import re
#urlretrieve(网址,本地文件存储地址)直接下载网页到本地

urllib.request.urlretrieve("http://www.baidu.com","F:\Test1\dow.html")
urllib.request.urlcleanup()
#info()看相应的简介
file=urllib.request.urlopen("https://read.douban.com/provider/all")
print(file.info())
#getcode()判断状态码
print(file.getcode())
#geturl()返回当前网页的url
print(file.geturl())

判断是否超时

一般情况下就是使用判读该爬虫访问的网页相应的时间timeout控制
timeout=1则是响应的时间设置为1秒超过则会报超时异常
对于某些常用的网页如百度则不需要太长的时间而对于一些比较特殊的网页则需要将时间设置的
长一些

#超时设置
for i in range(0,100):
    try:
        file=urllib.request.urlopen("http://www.baidu.com", timeout=1)
        print(len(file.read()))
    except Exception as err:
        print("出现异常"+str(err))

keyword="Python"
url="http://www.baidu.com/s?wd"+keyword
data=urllib.request.urlopen(url).read().decode("utf-8")
pat="title:'(.*?)',"
rst=re.compile(pat).findall(data)
print(rst)

python网络爬虫基本的操作_第2张图片

你可能感兴趣的:(python网络爬虫基本的操作)