当前位置: 首页 > wzjs >正文

做网站默认城市国外免费推广网站有哪些

做网站默认城市,国外免费推广网站有哪些,腾宁科技做网站399元全包,商品备案号查询平台官网全篇大概 5000 字(含代码),建议阅读时间 40min 一、Python爬虫简介 1.1 什么是网络爬虫? 定义: 网络爬虫(Web Crawler)是自动浏览互联网并采集数据的程序,就像电子蜘蛛在网页间"爬行"。 分类&…

全篇大概 5000 字(含代码),建议阅读时间 40min


一、Python爬虫简介

1.1 什么是网络爬虫?

定义:
网络爬虫(Web Crawler)是自动浏览互联网并采集数据的程序,就像电子蜘蛛在网页间"爬行"。

分类

  • 通用爬虫:Google等搜索引擎的爬虫
  • 聚焦爬虫:定向采集特定领域数据(如电商价格)
  • 增量式爬虫:只抓取更新内容
  • 深层爬虫:抓取需要登录的页面

1.2 Python爬虫的优势

示例对比:

//Java实现HTTP请求
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://aizlian.xyz")).build();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
#Python实现同样功能
import requests
response = requests.get("https://aizlian.xyz")

优势对比

  • 语法简洁:代码量减少50%
  • 库生态丰富:requests(网络请求)、BeautifulSoup(HTML解析)、Scrapy(框架)等
  • 跨平台:Windows/MacOS/Linux通用
  • 调试方便:REPL环境快速测试代码

二、环境搭建

2.1 Python环境安装

进入Python官网,下载与电脑系统匹配的版本。
请添加图片描述
下载完成后,按照提示完成环境安装。
验证安装:在终端命令行窗口输入命令

python --version

输出以下提示,说明安装成功。
请添加图片描述

三、Requests库

相比Python内置的urllibrequesets设计更简洁直观,例如发送GET请求仅需一行代码:requests.get(url)

3.1 安装与导入

安装 requests

pip install requests

导入requests

import requests

3.2 发送GET请求

通过requests.get()获取网页内容:

response = requests.get("https://aizlian.xyz")

​状态码:检查请求是否成功(200表示成功):

print(response.status_code)  # 输出:200

​文本内容:获取网页HTML或文本:

print(response.text)  # 输出网页内容

全部代码

import requestsresponse = requests.get("https://aizlian.xyz")print(response.status_code)
print(response.text)

3.3 发送POST请求

requests.post() 提交数据(如表单或登录):

import requests
# 提交表单数据
data = {"username": "admin", "password": "123456"}
response = requests.post("https://httpbin.org/post", data=data)# 提交JSON数据
json_data = {"key": "value"}
response = requests.post("https://httpbin.org/post", json=json_data)

3.4 处理响应内容

​解析JSON:直接转为Python字典:

data = response.json()
print(data)  # 输出解析后的JSON

​二进制内容​(如下载图片):

import requests
response = requests.get("图片网址")
with open("image.jpg", "wb") as f:f.write(response.content)  # 保存二进制数据

3.5 参数

​URL参数:通过params添加查询参数:

params = {"page": 1, "limit": 10}
response = requests.get("https://httpbin.org/get", params=params)

​请求头:伪装浏览器标识(避免被反爬):

headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(url, headers=headers)

3.6 异常处理


if response.status_code == 200:print("请求成功!")
else:print("请求失败,状态码:", response.status_code)

四、​BeautifulSoup库

解析复杂HTML/XML文档,将网页转化为可操作的树形结构

4.1 安装与导入

安装

pip install beautifulsoup4 
pip install lxml 

导入

from bs4 import BeautifulSoup

4.2 核心功能

​文档对象创建

from bs4 import BeautifulSoup
# 通过字符串或requests响应创建对象[2,5](@ref)
soup = BeautifulSoup(HTML文档, 'lxml')  

元素定位三剑客

方法功能描述代码示例
find()获取第一个匹配元素soup.find(‘div’, id=‘header’)
find_all()返回所有匹配元素的列表soup.find_all(‘a’, class_=‘link’)
select()CSS选择器精准定位soup.select(‘div.content > p’)
select_one()返回第一个匹配的 CSS 选择器元素soup.select_one(‘.title’)
find_parent()查找当前标签的父级标签tag.find_parent(‘div’)
find_next()查找后续第一个符合条件的标签tag.find_next(‘p’)

数据提取技巧

  • 文本内容:tag.text(包含子标签文本)或 tag.get_text()
  • 属性值获取:tag['href']tag.get('src')(避免KeyError)
  • 嵌套处理:通过.parent / .children遍历文档树

4.3 动态网页数据抓取


import requests
from bs4 import BeautifulSoupurl = 'https://www.aizlian.xyz'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')cates = []
for cate in soup.select('.col-4'):cates.append(cate.a['href'])print(cates)

五、数据存储

5.1 CSV存储最佳实践

安装

pip install csv

使用DictWriter避免列错位:

import csvdata = [{'name': '商品A', 'price': 299},{'name': '商品B', 'price': 599}
]with open('products.csv', 'w', newline='', encoding='utf-8-sig') as f:writer = csv.DictWriter(f, fieldnames=['name', 'price'])writer.writeheader()writer.writerows(data)

5.2 MySQL数据库操作

安装

pip install pymysql

连接池管理:

import pymysql
from dbutils.pooled_db import PooledDBpool = PooledDB(creator=pymysql,host='localhost',user='root',password='pass123',database='crawler_db',maxconnections=5
)# 使用连接
conn = pool.connection()
cursor = conn.cursor()
cursor.execute("INSERT INTO movies VALUES (%s, %s)", ("泰坦尼克号", 9.4))
conn.commit()

六、实战

实战项目:豆瓣电影Top250
完整代码(含异常处理):

import requests
from bs4 import BeautifulSoup
import csv
import timedef get_movie_info(url):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36','Accept-Language': 'zh-CN,zh;q=0.9'}try:response = requests.get(url, headers=headers, timeout=10)response.raise_for_status()  # 自动处理HTTP错误soup = BeautifulSoup(response.text, 'lxml')movies = []for item in soup.find_all('div', class_='item'):# 使用CSS选择器精确提取title = item.select_one('.title').text.strip()rating = item.select_one('.rating_num').text.strip()link = item.find('a')['href']movies.append([title, rating, link])return moviesexcept Exception as e:print(f"抓取失败:{e}")return []def main():base_url = "https://movie.douban.com/top250?start={}"with open('douban_top250.csv', 'w', newline='', encoding='utf-8-sig') as f:writer = csv.writer(f)writer.writerow(['排名', '电影名称', '评分', '详情链接'])for page in range(0, 250, 25):url = base_url.format(page)movies = get_movie_info(url)for idx, movie in enumerate(movies, start=page+1):writer.writerow([idx] + movie)print(f"已抓取第{page//25+1}页数据")time.sleep(2)if __name__ == '__main__':main()

执行完程序之后我们可以看到csv文件中已经有内容了。
请添加图片描述

http://www.dtcms.com/wzjs/219404.html

相关文章:

  • 海南千筑建设工程有限公司网站免费的网站推广软件
  • ui做网站实例win7优化工具
  • 幼儿园网站的建设需求分析seo网络优化公司哪家好
  • 网站备案通知软文营销经典案例
  • diy建站系统搜索引擎调词平台哪个好
  • 建站优化收费产品推广策划方案怎么做
  • 东莞建设网站培训互联网营销师培训课程免费
  • 中国建设银行的网站用户名是什么室内设计培训哪个机构比较好
  • 北京澳环网站百度百度一下首页
  • 专业做招聘的网站seo宣传
  • 大连市城乡建设厅网站重庆网站优化
  • ftp网站模板私人网站服务器
  • b2b网站怎么建设百度seo点击工具
  • 上海公司做网站的价格长沙网络推广营销
  • 陕西省医院网站建设管理赚钱平台
  • 房屋设计图怎么制作公司网站seo公司
  • 做嫒嫒网站百度网址大全电脑版
  • 做性奴双马网站英文外链seo兼职在哪里找
  • 自助手机建站学网络与新媒体后悔死了
  • 深圳模板网站制作长沙网红奶茶
  • 如何不用代码做网站查关键词
  • 一个网站的欢迎页怎样做株洲疫情最新情况
  • 做公司网站用什么系统设计公司网站
  • 深圳网站设计工作室常见网络营销推广方法
  • 虎门镇网站仿做企业微信scrm
  • 河东做网站公司中国万网域名注册
  • 设计的有趣的网站推荐网络推广营销公司
  • 江津哪里找做网站的优化大师官网下载安装
  • 哪个网站可以做思维导图百度知道合伙人
  • 自己做网站收费么武汉seo主管