python爬取搜索内容输出名称跟链接
时间: 2023-12-29 12:06:12 浏览: 50
下面是一个简单的Python爬虫示例,用于从Google搜索结果中提取标题和链接:
```python
import requests
from bs4 import BeautifulSoup
search_term = input("Enter search term: ")
url = "https://www.google.com/search?q=" + search_term
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
results = soup.find_all("div", class_="r")
for result in results:
link = result.find("a")["href"]
title = result.find("h3").text
print(title, link)
```
这个程序要求用户输入一个搜索词,并使用该词构建Google搜索URL。然后,它使用requests库获取响应并使用BeautifulSoup库解析响应文本。最后,它遍历搜索结果并提取每个结果的标题和链接。
相关问题
python爬取豆瓣top250图书输出表格
好的,以下是Python代码实现:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 发送HTTP请求,获取网页内容
url = 'https://book.douban.com/top250'
response = requests.get(url)
html = response.text
# 解析网页内容,获取书籍信息
soup = BeautifulSoup(html, 'html.parser')
books = soup.find_all('div', class_='pl2')
book_list = []
for book in books:
book_name = book.find('a')['title']
book_link = book.find('a')['href']
book_rating = book.find('span', class_='rating_nums').text.strip()
book_list.append([book_name, book_link, book_rating])
# 将书籍信息转换成表格形式并输出
df = pd.DataFrame(book_list, columns=['书名', '链接', '评分'])
print(df)
```
这段代码会爬取豆瓣图书Top250的页面,并从页面中获取书籍的名称、链接和评分等信息,然后使用pandas库将这些信息转换成表格形式,并输出到控制台。请注意,在爬取时需要加上适当的反爬措施,以免被封IP。
python爬取京东商品信息,包含商品名称,店铺名称,商品价格,商品链接,商品图片等
在Python中爬取京东商品信息,通常会使用到一些网络爬虫库,如requests用于发送HTTP请求获取网页内容,BeautifulSoup或 lxml 用于解析HTML文档提取所需数据,以及如PIL(Pillow)库处理图片链接。
以下是一个简单的步骤概述:
1. **安装必要的库**:
首先需要安装`requests`, `beautifulsoup4` 和 `lxml` 或者 `html.parser`(如果只使用BeautifulSoup的话):
```bash
pip install requests beautifulsoup4
```
2. **设置请求头**:
为了模拟浏览器访问,通常需要设置请求头,包括User-Agent等:
```python
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
```
3. **构造URL并获取页面内容**:
选择你要抓取的商品列表页,例如通过搜索关键词找到的结果页URL:
```python
url = "https://search.jd.com/Search?keyword=example%20product&enc=utf-8"
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'lxml') # 使用BeautifulSoup解析HTML
```
4. **定位元素并提取信息**:
根据京东商品详情页的HTML结构,找到商品名称、店铺名、价格、商品链接和图片链接。这通常涉及查找特定的class或id属性。这里仅提供一个基本示例,实际操作中可能需要调整:
```python
name_elements = soup.select('.name')
shop_elements = soup.select('.shop-name')
price_elements = soup.select('.price')
product_links = soup.select('.gl-item a')
image_links = soup.select('.img-wrap img')['src']
```
5. **处理信息**:
将上述选择器返回的数据存储在一个字典或者列表中,方便后续处理和输出。
```python
data_list = []
for i in range(len(name_elements)):
data = {
'商品名称': name_elements[i].text,
'店铺名称': shop_elements[i].text if shop_elements else '',
'商品价格': price_elements[i].get_text() if price_elements else '',
'商品链接': product_links[i]['href'],
'商品图片': image_links[i]
}
data_list.append(data)
```
6. **保存或输出结果**:
可以将数据存储到CSV文件、数据库或直接打印出来。
阅读全文