【1】 -----------------------查看User-Agent
输入chrome://version/
用户代理 | Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36 |
【2】----------------------具体代码
import urllib.request
from bs4 import BeautifulSoup
from urllib.request import urlopen
import re
import sys
import os
#【1】输入网址
url = 'https://www.csdn.net/'
#【2】输入代理地址
headers = ('User-Agent',
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36")
opener = urllib.request.build_opener()
opener.addheaders = [headers]
urllib.request.install_opener(opener)
html = urllib.request.urlopen(url).read().decode('utf-8', 'ignore')
bs = BeautifulSoup(html, 'lxml')
print("suoyou",bs)
linklist = links = bs.select('b') # 标题
linklist2 = links2 = bs.select('div.contson') # 内容
# print("标题",linklist) # 诗词标题
# print("内容",linklist2) # 诗词内容
texts = [] # 标题
links2 = [] # 内容
# # 遍历linkllist,存储标题和链接
for link in linklist: # 标题
texts.append(link.text.strip()) # 那么就从该字符串首尾去除空白字符。否则,函数第二个参数指定的字符将从该字符串中去除。
for link in linklist2: # 内容
links2.append(link.text.strip()) # python 中的用法啦
# # # 通过zip,将信息输出到控制台
print(texts)
print(links2)
cunchu = []
output = open("my_file.txt", 'w')
for text, link in zip(texts, links2):
output.write(str(text) + '\n ' + str(link) + '\n')
output.close()
【3】由于直接读取网页的话需要解压,所以只能存到本地了。
import urllib.request from bs4 import BeautifulSoup from urllib.request import urlopen import re import sys import os import requests import webbrowser as web import os import time import random
#【1】打开保存到本地的文件
soup = BeautifulSoup(open('my_file.lxml'),'lxml') # print("suoyou",soup.prettify()) # print("suoyou",soup) #【2】设置搜索的标签比如-------<h3> </h3> linklist = links = soup.select('h3') # 标题 在网页源代码里找标签 linklist2 = links2 = soup.select('p') # 内容 print("标题",linklist) # 诗词标题 print("内容",linklist2) # 诗词内容 texts = [] # 标题 links2 = [] # 内容 # 【3】 遍历linkllist,存储标题和链接 for link in linklist: # 标题 texts.append(link.text.strip()) # 那么就从该字符串首尾去除空白字符。否则,函数第二个参数指定的字符将从该字符串中去除。 for link in linklist2: # 内容 links2.append(link.text.strip()) # python 中的用法啦 # 【4】通过zip,将信息输出到控制台 print(texts) print(links2) cunchu = [] #【5】保存到本地 output = open("my_file2.txt", 'w') for text, link in zip(texts, links2): output.write(str(text) + '\n ' + str(link) + '\n') output.close()